首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

请教通过进程名可以获得它的窗体句柄吗

2012-01-26 
请问通过进程名可以获得它的窗体句柄吗?请问通过进程名可以获得它的窗体句柄吗? 此进程名只有一个,并且它

请问通过进程名可以获得它的窗体句柄吗?
请问通过进程名可以获得它的窗体句柄吗? 此进程名只有一个,并且它的窗体最多两个

如果能怎么实现呢?
请提示个思路。最好您能贴一下代码谢谢

[解决办法]
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
[解决办法]

VB code
'共通模块(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 

热点排行