如何获取游戏进程的句柄?我是新手,请高手说下。

时间:2021-07-20 08:51:02
在用OpenProcess获取进程句柄,返回总是0,听说可能是被游戏hook了。这种情况下,我有什么办法获取进程句柄?谢谢

18 个解决方案

#1


可以试试枚举系统进程链表的方式,可以打开如跑跑的进程。

#2


使用GetLastError读一下错误信息,看看是什么错误?

#3


如果知道进程的窗口可以名称可以用:
{Dim hwnd as long
          hwnd = FindWindow(NULL,"窗口名")}

#4


楼上的兄弟,这样获得窗口的句柄,我要的是,窗口线程的进程ID。

#5


山野:
枚举系统进程链表,这个听说过,你有没有程序源码我学习?
方便的话,发我一份:sdmyydfjg@163.com

#6


路过,学习中。。。。

#7


OpenProcess被HOOK了,是搞不成了。你要找进程ID,其目的是什么?如果是对窗口操作,找窗口句柄是可以的。

#8


友情up

#9


ding

#10


ding

#11


我打开qq飞车时是被拒绝(5)了     不知各位有什么方法

#12


aa = FindWindow(vbNullString, "element client")
If aa Then
    Label1.Caption = "外挂开启"
Else
    Label1.Caption = "连接游戏失败"
End If
GetWindowThreadProcessId aa, pid
aa2 = OpenProcess(PROCESS_ALL_ACCESS, False, pid)

#13


sendinput

#14


该回复于2010-08-14 09:35:35被版主删除

#15


先用OpenProcess试试权限用PROCESS_DUP_HANDLE 
如果不为0的话再用DuplicateHandle复制句柄权限为PROCESS_ALL_ACCESS
就可以了

#16


该回复于2010-08-16 14:57:36被版主删除

#17


路过。看帖必回

#18


用GetWindowThreadProcessId获取!!

#1


可以试试枚举系统进程链表的方式,可以打开如跑跑的进程。

#2


使用GetLastError读一下错误信息,看看是什么错误?

#3


如果知道进程的窗口可以名称可以用:
{Dim hwnd as long
          hwnd = FindWindow(NULL,"窗口名")}

#4


楼上的兄弟,这样获得窗口的句柄,我要的是,窗口线程的进程ID。

#5


山野:
枚举系统进程链表,这个听说过,你有没有程序源码我学习?
方便的话,发我一份:sdmyydfjg@163.com

#6


路过,学习中。。。。

#7


OpenProcess被HOOK了,是搞不成了。你要找进程ID,其目的是什么?如果是对窗口操作,找窗口句柄是可以的。

#8


友情up

#9


ding

#10


ding

#11


我打开qq飞车时是被拒绝(5)了     不知各位有什么方法

#12


aa = FindWindow(vbNullString, "element client")
If aa Then
    Label1.Caption = "外挂开启"
Else
    Label1.Caption = "连接游戏失败"
End If
GetWindowThreadProcessId aa, pid
aa2 = OpenProcess(PROCESS_ALL_ACCESS, False, pid)

#13


sendinput

#14


该回复于2010-08-14 09:35:35被版主删除

#15


先用OpenProcess试试权限用PROCESS_DUP_HANDLE 
如果不为0的话再用DuplicateHandle复制句柄权限为PROCESS_ALL_ACCESS
就可以了

#16


该回复于2010-08-16 14:57:36被版主删除

#17


路过。看帖必回

#18


用GetWindowThreadProcessId获取!!