枚举进程句柄,该如何解决

枚举进程句柄例如我打开3个计算器。想通过枚举三个计算器的句柄。然后获得每个计算器里加号按键的句柄。然后

枚举进程句柄
例如我打开3个计算器。
想通过枚举三个计算器的句柄。然后获得每个计算器里加号按键的句柄。
然后给三个计算器发送信息。
第一个计算器一直按1+1
第二个计算器一直按2+2
第三个计算器一直按3+3
直到计算器里的数字大于100为止。

请求具体思路,如果有类似源码就再好不过了。



[解决办法]
不懂,帮你顶一下,祝你和大家节日快乐!
[解决办法]

VB code
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As LongPrivate Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As LongPrivate Const WM_GETTEXT = &HDPrivate Function Getsum() As Long   Dim tempstr As String, strlong As Long, rtn As LongDim winHwnd As Long     Dim RetVal As Long     winHwnd = FindWindow(vbNullString, "计算器")     If winHwnd <> 0 Then     winHwnd1& = FindWindowEx(winHwnd&, 0&, "Edit", vbNullString)         tempstr = Space(200)    strlong = Len(tempstr)    rtn = SendMessage(winHwnd1, WM_GETTEXT, strlong + 1, tempstr)    tempstr = Trim(tempstr)  Getsum = tempstr        Else         MsgBox "计算器程序没有运行?"     End If End FunctionPrivate Sub Form_Load() Dim ReturnValue, IReturnValue = Shell("CALC.EXE", 1) ' 运行计算器        AppActivate ReturnValue ' 激活计算器Do While Getsum < 101 ' 设置            SendKeys 1 & "{+}", True ' 按下按键给计算器Debug.Print GetsumLoop ' 将所有 I 值相加ReturnValue = Shell("CALC.EXE", 1)        AppActivate ReturnValueDo While Getsum < 101            SendKeys 2 & "{+}", TrueDebug.Print GetsumLoopReturnValue = Shell("CALC.EXE", 1)        AppActivate ReturnValueDo While Getsum < 101            SendKeys 3 & "{+}", TrueDebug.Print GetsumLoopEnd Sub
[解决办法]
呵呵,顶一下,圣诞快乐
[解决办法]
VB code
[b][/b]
[解决办法]
友情Up ...................

[解决办法]
顶下
[解决办法]
探讨
SYSSZ(老张)
测试了您的代码,果然是高手。

如果我只是能用鼠标操作。
我已经获得了主窗体的句柄。主窗体内有10个按钮控件(无标题)。

怎么获得某个指定按钮的句柄呢。