怎么通过PID得到窗口句柄,高手帮帮,谢谢

candypill 2017-06-14 12:38:06
Dim p As Integer = Shell(C:\A.EXE)
        '获取进程id对应的句柄
        Dim h As IntPtr = System.Diagnostics.Process.GetProcessById(p).Handle
'显示进程id和对应的句柄
MsgBox(p) 'pid
MsgBox(h.ToString)

网上找到一段,PID是对的,但是H.TOSTRING并不是A.EXE的窗体句柄,怎么通过PID得到A.EXE的窗体句柄呢,高手帮忙给段代码,谢谢
...全文
929 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyyang002 2017-07-02
  • 打赏
  • 举报
回复
GetWindowThreadProcessld 这个Windows api函数可以根据句柄获取程序的PID 那么可以这样,先获取所有窗口的句柄,然后根据句柄获取PID,然后进行对比。
candypill 2017-06-16
  • 打赏
  • 举报
回复
zj_zwl 2017-06-14
  • 打赏
  • 举报
回复
好像是process.mainwindowhandle吧,忘了
zj_zwl 2017-06-14
  • 打赏
  • 举报
回复
看下有没有process.mainhandle这个属性
  • 打赏
  • 举报
回复
什么“窗口句柄”?
candypill 2017-06-14
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
什么“窗口句柄”?
碰到类似QQ登录这样的窗体,没有左上角TEXT值,怎么通过它的PID获得它的FindWindow的值

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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