标签:com style size tar ext c art color get tab ble
这里仅仅是以putty作为演示消息发送机制和控件搜索机制
#include"stdafx.h"
#include <windows.h>
#include 
<iostream>
using namespace std;
HWND FindTextBox(HWND hWnd,DWORD 
select_edit=1)
{
    HWND hEdit = 
NULL;
    hEdit = FindWindowExW(hWnd, hEdit, L"Edit", 
0);
    switch (select_edit)
   
 {
    case 1:
       
     return hEdit;
    case 
2:
           
 hEdit=GetNextWindow(hEdit,2);
       
     hEdit=GetNextWindow(hEdit,2);
   
         return hEdit;
   
 default:
        break;
   
 }
    /*遍历子窗体
    if (hEdit != NULL) 
return hEdit;
    HWND hChild = 
NULL;
    while(true) 
{
        hChild = FindWindowExW(hWnd, 
hChild, 0, 0);
        if (hChild == 
NULL)
            
break;
        hEdit = 
FindTextBox(hChild);
        if (hEdit != 
NULL)
            
break;
    }
    */
    
return hEdit;
}
HWND FindButton(HWND hWnd,DWORD 
select_button=0){
    HWND hButton=NULL;
   
 hButton=FindWindowExW(hWnd,hButton,L"Button",0);
   
 
    return hButton;
}
int _tmain (int 
argc, LPTSTR argv[])
{
    
   
 STARTUPINFO si;
    PROCESS_INFORMATION 
pi;
    ZeroMemory( &si, sizeof(si) 
);
    si.cb = sizeof(si);
    ZeroMemory( 
&pi, sizeof(pi) );
    // Start the child process. 
    if( !CreateProcess("C:\\Program 
Files\\sunsi\\third\\putty\\putty.exe",   // No module name (use 
command line)
        
NULL,        // Command line //简单的方法是调用putty传递参数,把NULL改为"-ssh 
-l root -pw 123456 -P 22 
1.1.1.1"即可
        
NULL,           // Process 
handle not inheritable
        
NULL,           // Thread 
handle not inheritable
        
FALSE,          // Set handle 
inheritance to FALSE
        
0,              
// No creation flags
        
NULL,           // Use 
parent‘s environment block
        
NULL,           // Use 
parent‘s starting directory 
        
&si,            // 
Pointer to STARTUPINFO structure
        
&pi )           // Pointer 
to PROCESS_INFORMATION structure
    ) 
    
{
        printf( "CreateProcess failed 
(%d).\n", GetLastError() );
        return 
1;
    }
    // Wait until child process 
exits.
   // WaitForSingleObject( pi.hProcess, INFINITE );   
//之前忘记注释这一行,导致失败,丢大发了。。。
    
// Close process and thread handles. 
    CloseHandle( 
pi.hProcess );
    CloseHandle( pi.hThread 
);
   
 puts("-------------------------------");
    
  
  
    
    HWND 
hWnd=FindWindowW(0,L"PuTTY Configuration");
   
 if(hWnd==0){
        puts("search 
failed!");
       
 system("pause");
        return 
1;
    }
    HWND 
hEditIp=NULL;
    HWND hEditPort=NULL;
   
 HWND hButton=NULL;
   
 hEditIp=FindTextBox(hWnd,1);
   
 hEditPort=FindTextBox(hWnd,2);
   
 hButton=FindButton(hWnd);
   
 if(hEditIp!=NULL&&hEditPort!=NULL){
   
    
 SendMessageW(hEditIp,WM_SETTEXT,0,(LPARAM)L"172.18.4.202");
   
    
 SendMessageW(hEditPort,WM_SETTEXT,0,(LPARAM)L"422");
   
 }else{
        puts("search edit frame 
failed!");
       
 system("pause");
        return 
1;
    }
   
 if(hButton!=NULL){
       
 SendMessageW(hButton,WM_LBUTTONDOWN,0,0);
   
     SendMessageW(hButton,WM_LBUTTONUP,0,0);
   
     system("pause");
   
 }else{
        puts("search button 
failed!");
       
 system("pause");
        return 
1;
    }
    
   
 
    //system("pause");
    return 
0;
}
标签:com style size tar ext c art color get tab ble
原文地址:http://www.cnblogs.com/duyy/p/3696953.html