怎样通过编程向系统发送鼠标、键盘的按键消息?(100分)

  • 主题发起人 主题发起人 xsjs
  • 开始时间 开始时间
X

xsjs

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样通过编程向系统发送鼠标、键盘的按键消息?望各位大虾不吝赐教!
 
>.....>
 
key_Event
mouse_Event
具体自己看帮助

SendMessage(handle,WM_KEYDOWN,VK_TAB,0);
Sendmessage(handle,WM_MOUSE,WM_LBUTTONDOWN,0);
 
使用键盘及鼠标的事件
 
俺的意思是向屏幕的任何位置发送按键消息如:在程序中向开始按钮发送一个鼠标单击
消息打开开始菜单,这使用键盘及鼠标的事件是无法实现的。
 
首先你要得到目的的handle,就能发消息了。。
给个函数做参考
procedure SendKeys(keys:string);
var CharCode,i:integer;
Sstr:string;
hFocus,hWindow:HWND;
ThreadID:DWord;
begin
hWindow:=GetForegroundWindow;
ThreadID:=GetWindowThreadProcessId(hWindow,nil);
AttachThreadInput(GetCurrentThreadId,ThreadID,true);
hFocus:=GetFocus;
AttachThreadInput(GetCurrentThreadId,ThreadID,false);
if hFocus<>0 then begin
for i:=1 to Length(keys) do begin
Sstr:=keys;
CharCode:=ord(Sstr[1]);
SendMessage (hFocus,WM_IME_CHAR,CharCode,1);
end;
end;
end;
至于开始按钮,你也可以找到handle后在做处理
FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0,'Button',nil)就是了
 
提这个问提是因为我正在做一个局域网中计算机间相互控制的程序,要求在一台
服务器上控制其他工作站鼠标(包括移动、击键)、键盘的操作。比如:在服务器
的工作站监视窗口中移动鼠标,则被控制计算机的鼠标也跟着移动,在监视窗口
某处单击鼠标,则被控制计算机的相应位置也发生一次鼠标单击事件。而以上方案
均不能解决问题。
为求解此问题本人愿再奉上400分!!!
如果那位大侠有类似软件的愿代码(不仅限于DELPHI)能给俺MAIL一份最好,
本人不胜感激!
 
mouse_event和key_event肯定是可以的呵,你没试?
 
我的EMAIL:hqlsta@163.net
 
关于mouse_event和key_event的使用我给发一份例子看看就知道了。
 
感谢西山居士!
 
to:西山居士
可不可以也给我一份.
liwt@isd.com.cn
 

Similar threads

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