能力值:
(RANK:410 )
|
-
-
2 楼
1、GetModulHandle不能跨进程获取模块的实例句柄。
2、FindWindow获取的是记事本的句柄。
|
能力值:
( LV9,RANK:610 )
|
-
-
3 楼
这俩句柄不是一个概念,第一个其实是模块的加载地址,第二个是窗口句柄~
|
能力值:
( LV12,RANK:300 )
|
-
-
4 楼
而且楼主也没说清楚,到底要的是记事本进程的句柄,模块句柄(实质是加载地址),还是窗口句柄……
|
能力值:
( LV3,RANK:20 )
|
-
-
5 楼
%SystemRoot%\system32\notepad.exe
|
能力值:
( LV3,RANK:20 )
|
-
-
6 楼
请问:如何跨进程获取模块的句柄呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
findwindow 可以获取记事本的窗口句柄(最顶层的窗口句柄)
GetWindowThreadProcessId 可以通过获取到的窗口句柄来获取该窗口的进程句柄
具体用法如下:
假设我们要获取的是Explore的进程句柄
.data?
dwThreadID dd ?
...
.const
szDesktopClass db 'Progman',0 ;Explore的窗口类
szDesktopWindow db 'Program Manager',0 ;Explore的窗口名称
...
invoke FindWindow,addr szDesktopClass,addr szDesktopWindow ;函数返回Explore的窗口句柄
invoke GetWindowThreadProcessId,eax,offset dwProcessID ;函数返回Explore进程句柄
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
抱歉 GetWindowThreadProcessId 获取的是 Explore的PID
|
能力值:
( LV9,RANK:610 )
|
-
-
9 楼
EnumProcessModules~
|
能力值:
(RANK:410 )
|
-
-
10 楼
Dll注入记事本内部就可以用GetModelHandle获取了。或者使用ToolHelp函数枚举进程也可以得进程模块基地址。
|
能力值:
( LV3,RANK:20 )
|
-
-
11 楼
这两种方法,啊有人实现过哦,请附上代码来哦!最好是VB的代码!
|
能力值:
( LV3,RANK:20 )
|
-
-
12 楼
这好像是VC里面的实现方法把,VB这里没有ToolHelp的把!
|
能力值:
( LV3,RANK:20 )
|
-
-
13 楼
ReadProcessMemory+Peb
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
.data
szWindow db '新建 文本文档.txt - 记事本',0
szClass db 'Notepad',0
szCap db 'Notepad',0
szText db 'Notepad is runing',0
.data?
hHandle dd ?
.code
start:
invoke FindWindow,addr szClass,addr szWindow
mov hHandle,eax
.if hHandle!=0
invoke MessageBox,0,addr szText,addr szCap,MB_OK
.endif
invoke ExitProcess,0
end start
|
能力值:
( LV3,RANK:20 )
|
-
-
15 楼
最好VB代码
|
能力值:
( LV12,RANK:300 )
|
-
-
16 楼
跟VC还是VB没啥关系,VB只要自己声明API原型,同样可以调用。
|
能力值:
( LV3,RANK:20 )
|
-
-
17 楼
我知道,但是VB里面好像没有Toolhelp这个API的把
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
ToolHelp 是dll里的资源函数
vb也可以用的 不分实现技术
想共享需要在父进程中设置可以继承才可以
或命名上做手脚
|
能力值:
( LV3,RANK:20 )
|
-
-
19 楼
请问:那怎么弄哦?这手脚怎么做哦?
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
上次给你讲半天回过头来你还没解决?
不是VB代码就看不懂?
如果是汇编代码你主要就看下 invoke 后面的函数就行了
别告诉我你不会用VB去使用FindWindow这样的函数? 顺便告诉你
szWindow db '新建 文本文档.txt - 记事本',0
szClass db 'Notepad',0
FindWindow 的着2个参数 可以只选择一个 另一个NULL掉
如果打开2个以上的 Notepad 可能找到的就不是同一个 记事本窗口了
这样可以选择 szWindow 把具体名字写进入 注意 “- 记事本”也要写
我现在刚才完C语言 正向数据结构进发
|
能力值:
( LV3,RANK:20 )
|
-
-
21 楼
我是想通过ToolHelp来获取记事本的模块句柄,怎么弄呢?也就是用小虾版主所说的方法.
哪位好心的朋友,可以附上代码哦
|
|
|