vb中怎么获得一个句柄的进程或线程

vb中怎么获得一个句柄的进程或线程,第1张

GetWindowThreadProcessId,它根据窗口句柄来获取进程和线程ID,VB原型如下

'Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long

'参数:

'hwnd:目标窗口的句柄

'lpdwProcessId:一个接受返回进程ID的Long变量,

'顺便提一下,在我们调用API的时候,如果一个变量不是ByVal传递,则表示这个变量是用来接受返回值的(但也不是绝对的)

'返回值:

'窗口的线程ID

DLL命令 _取窗口进程ID, 整数型, , "GetWindowThreadProcessId", , user32dll获取与指定窗口关联在一起的一个线程和进程标识符

参数 窗口句柄, 整数型, , hwnd,指定窗口句柄

参数 进程标识符, 整数型, 传址, lpdwProcessId,指定一个变量,用于装载拥有那个窗口的一个进程的标识符

貌似你是创建了一个线程,然后在这个线程里面调用AfxGetMainWnd~~~~这样是无法获得主窗口句柄的,这个函数只能获得当前线程的窗口句柄

MSDN的说明:

If the function is called from a secondary thread in the application, the function returns the main window associated with the thread that made the call

正确做法是:你在创建线程时把窗口的的句柄以参数形式传入去

以上就是关于vb中怎么获得一个句柄的进程或线程全部的内容,包括:vb中怎么获得一个句柄的进程或线程、[易语言]如何通过进程名取窗口句柄、获取窗口句柄失败等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10214569.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存