调用外部程序的工具、按钮命令

     Spy++是VS自带一个很强大的小工具,在VS中的“工具”中即可找到,点击“监视”中的“查找窗口”,通过拖动“查找程序工具”的图标到指定的工具上,即可显示相应工具的父级窗口、类名、标题名,若想外部调用该工具,就要找到相应的父级窗口,依次获取每一级窗口的句柄。

      首先要知道该应用程序窗口的标题名,根据函数Public Declare Auto Function FindWindowNullClassName Lib "user32.dll" _Alias "FindWindow" (ByVal lpClassName As Integer, _ByVal lpWindowName As String) As Integer获取该窗体的句柄,(第一个参数可设为0,第二个参数:“标题”),再根据需要找到下一级窗口或工具条的句柄,利用函数 Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Integer, ByVal lpsz1 As String, ByVal lpsz2 As String) As Integer依次获取目标工具的上级窗口或工具条的句柄(第一个参数是父级的句柄,第二个参数为0,第三个参数和第四个参数可设为该工具条或窗体类名或标题名,后两个参数只是起到一个标识的作用,可以二选一),最后取到目标工具的句柄既可以发送消息,Public Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Int32 (第一个参数是目标工具的句柄,第二个参数是发送给窗体的消息,比如WM_LBUTTONDOWN之类的,第二个参数有严格的定义,对该类型变量的定义不可随意改动,包括赋值,第三个和第四个参数起到标识的作用,可以写相应工具的句柄、类名,当第一个参数即该工具所在的工具条只有这一个工具时,最后两个参数可设为0

你可能感兴趣的:(调用外部程序的工具、按钮命令)