如何获取一个窗口的handle
比如传奇的登录窗口的handle    谢谢请给出详细完整代码

解决方案 »

  1.   

    FindWindow('传奇的登录窗口的标题',nil)
      

  2.   

    例如找到运行时的 window 记事本  procedure TForm1.Button1Click(Sender: TObject); 
      var 
        hNotepadWindow: HWND; 
      begin 
        hNotepadWindow := FindWindow('notepad', nil); 
      end;
      

  3.   

    function FindWindow(lpClassName: PChar, lpWindowName: PChar): HWND; 
    其中,参数lpCalssName 是要查找的窗口的类的名称,参数lpWindowName是要查找的窗口的标题(Caption)。 如果找到了相应的窗口实例,将返回一个非0 的该窗口句柄的整型值,否则返回0 。
      

  4.   

    function FindWindow(lpClassName: PChar, lpWindowName: PChar): HWND;
      

  5.   

    procedure  TForm1.Button1Click(Sender:  TObject);    
       var    
           hNotepadWindow:  HWND;    
       begin    
           hNotepadWindow  :=  FindWindow('notepad',  nil);   
       end; 
    获取的handle怎么不能把它赋给edit1.text呢,也就是说我现在要看这个handle值是多少?
      

  6.   

    procedure  TForm1.Button1Click(Sender:  TObject);    
       var    
           hNotepadWindow:  HWND;    
       begin    
           hNotepadWindow  :=  FindWindow('notepad',  nil);   
           edit1.text :=IntToStr(hNotepadWindow);
       end;
      

  7.   

    HWND  是 LongWord 类型
    Text 是 String 类型当然不能直接赋值了。你可以通过 右键-Find Declaration 找到某个数据类型的原始类型