请问通过进程名可以获得它的窗体句柄吗?
请问通过进程名可以获得它的窗体句柄吗? 此进程名只有一个,并且它的窗体最多两个
如果能怎么实现呢?
请提示个思路。最好您能贴一下代码谢谢
[解决办法]
http://topic.csdn.net/t/20030827/14/2193566.html
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)
http://feiyun0112.cnblogs.com/
[解决办法]
http://bbs.pfan.cn/post-159519.html
http://blog.csdn.net/ssihc0/archive/2008/11/22/3349645.aspx
[解决办法]
'共通模块(Module1.bas)中引用:Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As LongPublic Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Long)Public Declare Function Process32Next Lib "kernel32" (ByVal hSnapShot As Long, lppe As PROCESSENTRY32) As LongPublic Declare Function Process32First Lib "kernel32" (ByVal hSnapShot As Long, lppe As PROCESSENTRY32) As LongPublic Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As LongPublic Const TH32CS_SNAPPROCESS = &H2&Public Type PROCESSENTRY32 dwSize As Long cntUseage As Long th32ProcessID As Long th32DefaultHeapID As Long th32ModuleID As Long cntThreads As Long th32ParentProcessID As Long pcPriClassBase As Long swFlags As Long szExeFile As String * 1024End Type'窗体中代码'******************************************************'* 功能:加载数据'* 参数:proName :程序名'* 返回:该程序打开的个数'******************************************************Private Function GetProCnt(proName As String) As Integer Dim lSnapShot As Long Dim lNextProcess As Long Dim tPE As PROCESSENTRY32 lNextProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0) tPE.dwSize = Len(tPE) Dim i As Integer i = 0 If Process32First(lNextProcess, tPE) <> 0 Then Do If Left(LCase(tPE.szExeFile), InStr(tPE.szExeFile, ".") + 3) = proName Then i = i + 1' qq = tPE.th32ProcessID End If Loop While Process32Next(lNextProcess, tPE) <> 0 End If CloseHandle lNextProcess GetProCnt = iEnd FunctionPrivate Sub Command1_Click()mesCnt = GetProCnt("vb6.exe") MsgBox mesCntEnd Sub