HWND FindWindow(
LPCTSTR lpClassName, // pointer to class name
LPCTSTR lpWindowName // pointer to window name
假设任一目标窗体在最上面,你怎么自动获取它的类名和窗口标题?
或者用其他方法获得句柄

解决方案 »

  1.   

    高分求购
    具体要求:该程序能向最前的别的窗体发送象ctrl+n或alt+F4之类的键盘消息。
    给出全部源码并测试通过给80分以上,有注释另家分
      

  2.   

    VOID keybd_event(    BYTE bVk, // virtual-key code
        BYTE bScan, // hardware scan code
        DWORD dwFlags, // flags specifying various function options
        DWORD dwExtraInfo  // additional data associated with keystroke
       );用这个
      

  3.   

    第一个问题:
    var
      h: HWND;
      Title: array[0..255] of Char;
    begin
      h := GetForegroundWindow;
      GetWindowText(h, Title, 255);
      caption:= Title;
    end;第二个问题:
    //Ctrl+N: 
    keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0); //按下Ctrl键
    keybd_event(Ord('N'), MapVirtualKey(Ord('N'), 0), 0, 0); 
    keybd_event(Ord('N'), MapVirtualKey(Ord('N'), 0), KEYEVENTF_KEYUP, 0); 
    keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), KEYEVENTF_KEYUP, 0)//松开Ctrl键
    //ALT+F4
      keybd_event( VK_MENU, MapVirtualKey( VK_MENU, 0 ), 0 , 0 );     // Alt        keybd_event( VK_DOWN, MapVirtualKey( VK_F4, 0 ), 0 , 0 );     
      keybd_event( VK_DOWN, MapVirtualKey( VK_F4, 0 ), KEYEVENTF_KEYUP , 0 );  keybd_event( VK_MENU, MapVirtualKey( VK_MENU, 0 ), KEYEVENTF_KEYUP , 0 );  // Alt key up 
      

  4.   

    如果觉得解决了问题,请加入FAQ,我只要信誉分:)
      

  5.   

    Error] Unit1.pas(22): 说明盼望但是 标识符 'keybd_event'发现
      

  6.   

    我的意思不是给自己的窗口发按键。我要求的就象uoloop那样的功能,就是做外挂啊
      

  7.   

    'keybd_event'是windows.pas里面的当前激活的是哪个窗口,这段按键代码就对哪个窗口起作用
      

  8.   

    可以发送alt+tab,但你给的不行,没有剪贴成功
      

  9.   

    唉……为什么alt+f4就是不行呢?