sendmessage向其他程序发送模拟按键无效procedure TForm1.Button1Click(Sender: TObject)var H: HWNDbeg
sendmessage向其他程序发送模拟按键无效
procedure TForm1.Button1Click(Sender: TObject); var H: HWND; begin h := findwindow(nil, 'VisualBoyAdvance'); if H > 0 then //如果找到密码输入窗体 begin label1.Caption := '已找到窗体'; SendMessage(h,WM_KEYDOWN,VK_F12,0); end; end;一段简单代码,向VBA模拟器发送模拟按键F12(功能是游戏截图),也试过postmessage,可总是无效,请各位帮帮忙。
VBA模拟器链接:
http://disland.emu-zone.org/emu/vba.zip
超级马里奥游戏ROM链接
thunder://QUFmdHA6Ly9yb21zNjE4OnJvbXM2MThAcm9tczMuZW11NjE4LmNvbToyMzcvemhhbmdqaS9nYmEvYWxsc2V0LzIzNTggLSBDaGFvamkgTWFsaW91IFNoaWppZSAoQykuemlwWlo=
[解决办法] findwindow(nil, 'VisualBoyAdvance');//VisualBoyAdvance是窗口的标题。而不是其它。
[解决办法] 试试
SendMessage(h, WM_KEYDOWN, VK_F12, 1+MapVirtualKey(VK_F12, 0) shl 16);
[解决办法] 引用: procedure TForm1.Button1Click(Sender: TObject); var H: HWND; begin h := findwindow(nil, 'VisualBoyAdvance'); if H > 0 then //如果找到密码输入窗体 begin label1.Caption := '已找到窗体'; SendMessage(h,WM_KEYDOWN,VK_F12,0); end; end; 一段简单代码,向VBA模拟器发送模拟按键F12(功能是游戏截图),也试过postmessage,可总是无效,请各位帮帮忙。 VBA模拟器链接: http://disland.emu-zone.org/emu/vba.zip 超级马里奥游戏ROM链接 thunder://QUFmdHA6Ly9yb21zNjE4OnJvbXM2MThAcm9tczMuZW11NjE4LmNvbToyMzcvemhhbmdqaS9nYmEvYWxsc2V0LzIzNTggLSBDaGFvamkgTWFsaW91IFNoaWppZSAoQykuemlwWlo=首先你确定是否label1.Caption已变为'已找到窗体',如果已变了,说明已找到Handle;
然后试下这句:PostMessage(h,WM_CHAR,VK_F12,0);
[解决办法] 试下这个:PostMessage(h,WM_IME_CHAR,VK_F12,0);
[解决办法] 可以下载个sndkey32.pas,调用AppActivate,然后SendKeys("{F12}")试试
------解决方案--------------------
如果这程序是用directinput处理按键,那自然是不接受任何按键消息
[解决办法] [解决办法] 学习 多少