肛门处长个肉疙瘩:Api函数中keybd_event什么用法

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 11:21:03
Public Declare Sub keybd_event Lib "user32" Alias "keybd_event" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

在VB中使用API是很麻烦的,如果在passcal borland delphi 下使用,跟本不需要声名,
而且模拟键盘也很简单。直接发送键码就行了。
比如procedure TForm1.Button1Click(Sender: TObject);
var npad:HWND;
i,j:integer;
begin
//须先閞NotePad
Npad := FindWindow(nil, '未命名 - 记事本');
if npad <> 0 then begin
BringWindowToTop(Npad); //使其成为focus之window
for j:=1 to 5 do begin
for i := ord('A') to ord('Z') do begin //大小写均同
keybd_event(i, 0, 0, 0); //keydown此键
keybd_event(i, 0, KEYEVENTF_KEYUP, 0); //keyup
keybd_event(VK_SHIFT, 0, 0, 0); //按着Shift ,使成为大写
keybd_event(I, 0, 0, 0); //keydown
keybd_event(I, 0, KEYEVENTF_KEYUP, 0); //keyup
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0); //放开shift
end;
keybd_event(VK_RETURN, 0, 0, 0); //换行
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);
end;
end;