API:帮忙看看这两行代码

xdd1125 2001-12-30 01:03:26
Private Declare Function GetCurrentProcessId Lib "kernel32" Alias "GetCurrentProcessId" () As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" Alias "GetWindowThreadProcessId" (ByVal hwnd As Long, lpdwProcessId As Long) As Long

Function IsWindowLocal(ByVal hwnd As Long) As Boolean
Dim idWnd As Long
Call GetWindowThreadProcessId(hwnd, idWnd)
IsWindowLocal = (idWnd = GetCurrentProcessId())
End Function


在下认为idWnd就是当前进程的ID,这和GetCurrentProcessId()返回的应该是一样的。
为什么有可能会不一样呢,是在什么情况下不一样呢?
...全文
65 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xdd1125 2001-12-31
  • 打赏
  • 举报
回复
ok
xdd1125 2001-12-31
  • 打赏
  • 举报
回复
还有吗
xdd1125 2001-12-30
  • 打赏
  • 举报
回复
To tpProgramer(tp编程者):
如果一个进程包含多线程,是否原始窗体就是主线程创建的
tpProgramer 2001-12-30
  • 打赏
  • 举报
回复
GetWindowThreadProcessId 得到创建这个窗口的线程的标识,如果进程只有一个线程,则也是这个进程的标识。如果进程不是一个线程,则为创建窗口的线程的标识,但是不一定等于进程的标识。
AttaBoy 2001-12-30
  • 打赏
  • 举报
回复
同意
cxiaobao 2001-12-30
  • 打赏
  • 举报
回复
一个进程里可能包含好几个线程(windows界面的程序一般都是多线程的)。

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧