352分!求向其它应用程序窗体 发送ALT+B 组合键(已知窗体句柄) 10天了,没有人回答! ( 积分: 252 )

  • 主题发起人 主题发起人 opqrst
  • 开始时间 开始时间
O

opqrst

Unregistered / Unconfirmed
GUEST, unregistred user!
是不是用 &nbsp;postmessage(whandle,??);<br>回答时只写一测试通过的语句就可以<br> &nbsp; &nbsp; &nbsp; &nbsp;注意:是向其 &nbsp;它应用程序 &nbsp;窗体 发送 &nbsp; <br><br>下面这个问题和这个一样,100分,答对了进去留言,小弟把分一块送出,<br>谢谢。。。。。。。<br>http://www.delphibbs.com/delphibbs/dispq.asp?lid=3122014
 
是不是用 &nbsp;postmessage(whandle,??);<br>回答时只写一测试通过的语句就可以<br> &nbsp; &nbsp; &nbsp; &nbsp;注意:是向其 &nbsp;它应用程序 &nbsp;窗体 发送 &nbsp; <br><br>下面这个问题和这个一样,100分,答对了进去留言,小弟把分一块送出,<br>谢谢。。。。。。。<br>http://www.delphibbs.com/delphibbs/dispq.asp?lid=3122014
 
PostMessage(WHandle,WM_KEYDOWN,VK_Alt + chr('B'),0)<br><br>把2个键值一加就可以了,,但是不能写相加后的值,写表达式
 
//向&quot;计算器&quot;发送 ALT+E 键 (打开编辑菜单)<br>procedure TForm1.Button1Click(Sender: TObject);<br>Var<br> &nbsp;hwnd_Calc, hwnd_btn_CE : HWND;<br>begin<br> &nbsp;hwnd_Calc := FindWindow(nil, '计算器');<br> &nbsp;if hwnd_Calc&lt;&gt; 0 then<br> &nbsp;begin<br> &nbsp; &nbsp;setforegroundwindow(hwnd_Calc);<br> &nbsp; &nbsp;keybd_event(VK_MENU, MapVirtualKey(VK_MENU, 0), 0, 0);<br> &nbsp; &nbsp;keybd_event(ord('E'), MapVirtualKey(ord('E'), 0), 0, 0);<br> &nbsp; &nbsp;keybd_event(ord('E'), MapVirtualKey(ord('E'), 0), KEYEVENTF_KEYUP, 0);<br> &nbsp; &nbsp;keybd_event(VK_MENU, MapVirtualKey(VK_MENU, 0), KEYEVENTF_KEYUP, 0);<br> &nbsp;end;<br>end;
 
在本程序内,<br>你可以问一刘麻子<br>procedure AltA;<br>begin<br> &nbsp;keybd_event(VK_Menu, MapVirtualKey(VK_Menu, 0), 0, 0);<br> &nbsp;keybd_event(ord('B'), MapVirtualKey(ord('B'), 0), 0, 0);<br> &nbsp;keybd_event(ord('B'), MapVirtualKey(ord('B'), 0), KEYEVENTF_KEYUP, 0);<br> &nbsp;keybd_event(VK_Menu, MapVirtualKey(VK_Menu, 0), KEYEVENTF_KEYUP, 0);<br>end;<br><br>procedure Tfm_test.BitBtn1Click(Sender: TObject);<br>begin<br> &nbsp; AltA<br>end;<br><br><br>procedure Tfm_test.sadfas1Click(Sender: TObject);<br>begin<br> &nbsp; ShowMessage('ALT + B')<br>end;
 
改天试试这个:<br> PostMessage(Edit1.Handle, WM_KEYDOWN, Byte('B'),<br> &nbsp; &nbsp;$20000001 or MapVirtualKey(VK_MENU,0));<br> &nbsp;PostMessage(Edit1.Handle, WM_KEYUP, Byte('B'),<br> &nbsp; &nbsp;$20000001 or MapVirtualKey(VK_MENU,0));<br> &nbsp;PostMessage(Edit1.Handle, WM_KEYUP, Byte('B'),$C0000001 or<br> MapVirtualKey(VK_MENU,0));
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部