刚才学delphi ,只会做做小程序,这个代码内核不内核,消息不消息的我不会搞,谁能帮我转成delphi,谢谢啦!!
最好测试通过哟
#include <Windows.h>
HINSTANCE g_hInstance =0;void SendAsyncProc(          HWND hwnd,
                       UINT uMsg, 
                       ULONG_PTR dwData,  
                       LRESULT lResult 
                    ) 
{
    char szWndText[255]; 
    char szGameText[] = "文本文档"; 
    memset(szWndText,0,255);
    GetWindowText(hwnd,szWndText,255);
    szWndText[9] = 0;
    if (lstrcmpi(szWndText,szGameText) == 0) 
    {  
        MessageBox(NULL,"找到了-_-","Yes",MB_OK);
        SendMessage(hwnd,WM_SETTEXT,0,(LPARAM)"hehe");  
    } 
   
} void entry() 
{
    DWORD    dwData =0; 
    g_hInstance = GetModuleHandle(NULL);
    SendMessageCallback(HWND_BROADCAST,WM_PAINT,0,0,(SENDASYNCPROC)&SendAsyncProc,dwData);
    MessageBox(NULL,NULL,NULL,NULL);
    ExitProcess(0);

解决方案 »

  1.   

    var g_hInstance :Cardinal=0;procedure SendAsyncProc(m_hwnd:HWND; uMsg: UINT; dwData: PDWord; m_lResult: LRESULT);stdcall; 
    var 
      szWndText: array[0..254] of char; 
      szGameText: PChar; 
    begin 
      szGameText := '文本文档'; 
      ZeroMemory(@szWndText[0], 255);
      GetWindowText(m_hwnd, @szWndText[0], 255);
      szWndText[9] = '0';
      if (lstrcmpi(@szWndText[0], szGameText) = 0) then 
      begin  
        MessageBox(0, '找到了-_-', 'Yes', MB_OK);
        SendMessage(m_hwnd:HWND, WM_SETTEXT, 0, LPARAM('hehe'));  
      end; 
    end;  procedure entry() 
    var dwData: DWORD; 
    begin
      dwData := 0; 
      g_hInstance := GetModuleHandle(0);
      SendMessageCallback(HWND_BROADCAST, WM_PAINT, 0, 0, @SendAsyncProc, dwData);
      MessageBox(0, '', '', 0);
      ExitProcess(0);
    end; 
      

  2.   

    编译通过,测试成功。 program FindowWindow;{$APPTYPE CONSOLE}uses
      Windows, Messages, SysUtils;
    var g_hInstance :Cardinal = 0;
        dwData: DWORD = 0;procedure SendAsyncProc(m_hwnd:HWND; uMsg: UINT; dwData: PDWord; m_lResult: LRESULT);stdcall;  
    var  
      szWndText: array[0..254] of char;  
      szGameText: PChar;
    begin
      szGameText := 'Windows 任务管理器';//'文本文档';
      ZeroMemory(@szWndText[0], 255);
      GetWindowText(m_hwnd, @szWndText[0], 255);
      if Trim(PChar(@szWndText[0]))<>'' then
      OutputDebugString(PChar(@szWndText[0]));
      if (lstrcmpi(@szWndText[0], szGameText) = 0) then  
      begin   
        MessageBox(0, '找到了-_-', 'Yes', MB_OK);
        SendMessage(m_hwnd, WM_SETTEXT, 0, LPARAM(PChar('hehe')));
      end;  
    end;begin
      g_hInstance := GetModuleHandle(nil);
      SendMessageCallback(HWND_BROADCAST, WM_PAINT, 0, 0, @SendAsyncProc, dwData);
      MessageBox(0, '', '', 0);
      ExitProcess(0);
    end.