请问,如何模拟键盘和鼠标操作。向应用程序发送指令!(100分)

  • 主题发起人 主题发起人 lovecs
  • 开始时间 开始时间
L

lovecs

Unregistered / Unconfirmed
GUEST, unregistred user!
例如自动在记事本里输入一篇文章。
 
这个嘛,用消息,随便一搜,可以找到很多例子的
 
打开记事本程序,取得句柄,发送按键消息.
 
楼上说的没错SendMessage(记事本.Handle, WM_KeyDown, ...)

找一下就行了,
 
麻烦能否详细介绍一下,或给段简单代码!3X
 
procedure TForm1.Button1Click(Sender: TObject);
var
wnd: Hwnd;
s: string;
i: integer;
begin
wnd := FindWindow('notepad', nil);
if wnd<>0 then
begin
wnd := FindWindowEx(wnd,0,'Edit',nil);
s := 'hello, world';
for i := 1 to length(s) do
SendMessage(wnd, WM_CHAR, ord(s), 0);
end
else ShowMessage('notepad not find');
end;
 
http://www.datacn.com/acdown/list.asp?id=16
可以模拟键盘和鼠标操作。向应用程序发送指令
 
delphi里不是有一个sendkey单元吗?

用那个就可以了,不在lib目录里,你要search一下。
 
zw84611的代码只能发送英文或数字,发送中文字符就不行,为什么?请各位大侠解释一下
 
to miss9642:
我试了,可以呀。你是什么系统,是win2k还是win98?
 
我是WIN2K,发送不了中文,为什么?
 
试试如下代码:
var s:string;
s := 'hello, world 你好,世界';
SendMessage(wnd, wm_SetText, 0, integer(pchar(s)));
 
多人接受答案了。
 

Similar threads

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