HWND FindWindow(
LPCTSTR lpClassName, // pointer to class name
LPCTSTR lpWindowName // pointer to window name
假设任一目标窗体在最上面,你怎么自动获取它的类名和窗口标题?
或者用其他方法获得句柄
LPCTSTR lpClassName, // pointer to class name
LPCTSTR lpWindowName // pointer to window name
假设任一目标窗体在最上面,你怎么自动获取它的类名和窗口标题?
或者用其他方法获得句柄
具体要求:该程序能向最前的别的窗体发送象ctrl+n或alt+F4之类的键盘消息。
给出全部源码并测试通过给80分以上,有注释另家分
BYTE bScan, // hardware scan code
DWORD dwFlags, // flags specifying various function options
DWORD dwExtraInfo // additional data associated with keystroke
);用这个
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