天天看点

BCB 自动填表函数

摘要: BCB实现自动填表的例子,通过改造完全可以操作其它窗口来实现自动填表功能例子: int i=0;

BOOL CALLBACK EnumFunc(HWND hwnd,LPARAM lp) ;//自定义的回调函数

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

int iParam = 0;

i=0; //窗口标题

 HWND   hwnd   =FindWindow(NULL,Edit1->Text.c_str());// ::GetDesktopWindow();

EnumChildWindows(hwnd,  (int (__stdcall *)())EnumFunc,   iParam);

}

//---------------------------------------------------------------------------

BOOL CALLBACK EnumFunc(HWND hwnd,LPARAM lp) //自定义的回调函数

{   

 char array[255];   

 char array1[255];    

 GetWindowText(hwnd, array, 255);    //hwnd为子窗口句柄   

Memo->Lines->Add(array);    //子窗口名显示在Memo1中   

GetClassName(hwnd,array1,255);   

Memo->Lines->Add(array1);   

 if(AnsiString(array1).Pos("RzEdit")) 

   {       

i++;    

  switch(i)     

 {         

case 1:           

  {              

char   buf[20]="pacs";      

          SendMessage(hwnd,WM_SETTEXT,20,(LPARAM)buf);                break;     

        }      

  case 2:      

        {            

   char   buf[20]="pacs";         

      SendMessage(hwnd,WM_SETTEXT,20,(LPARAM)buf);      

         break;          

     }       

case 3:         

    {            

   char   buf[20]="server";    

           SendMessage(hwnd,WM_SETTEXT,20,(LPARAM)buf);  

             break;            

    }  

       case 4:          

    {             

  char   buf[20]="21";              

  SendMessage(hwnd,WM_SETTEXT,20,(LPARAM)buf);    

            break;     

      }    

   }   

   }   

 return hwnd != NULL;

}

继续阅读