![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно эмулировать: а) Щелчок мышью.... [D7, Win95/98, WinME, NT4, Win2k, WinXP]
Никита © (2005-01-17 20:06:00)Как программно эмулировать:
а) Щелчок мышью
б) Нажатие клавиши на клавиатуре
Vaitek (2005-01-17 23:07:00) [1]Блин, я бы вылажил автопилот к Freelancer'у да он не доделан 8-)
Kerk (2005-01-17 20:46:00) [2]Раз пошла такая пьянка, то и я выложу. :)
program tmhy;
uses Windows;
const
msg = 'hello'+#13+
'the matrix has got you.'+#13+
#13#13+
'let me welcome you ladies and gentlemen'+#13+
'i would like to say hello'+#13+
'are you ready for some entertainment'+#13+
'are you ready for a show'+#13#13+
'kerk';
var
I: Cardinal;
Vk: Byte;
begin
WinExec('notepad.exe',SW_SHOWNORMAL);
for I := 1 to Length(msg) do
begin
Vk := VkKeyScan(msg[I]);
keybd_event(Vk,0,0,0);
keybd_event(Vk,0,KEYEVENTF_KEYUP,0);
Sleep(150);
end;
end.
Zeqfreed (2005-01-17 20:44:00) [3]Вот ещё примерчик... (ну не зря же я писал... выложу хоть)
procedure TForm1.Button1Click(Sender: TObject);
var
buf : array[0..MAX_PATH] of Char;
win_Dir : String;
SUI : TStartUpInfo;
PI : TProcessInformation;
begin
GetWindowsDirectory(buf, MAX_PATH);
win_Dir := StrPas(buf);
FillChar(SUI, SizeOf(SUI), #0);
with SUI do begin
cb := SizeOf(SUI);
dwFlags := STARTF_USESHOWWINDOW;
wShowWindow := SW_SHOWNORMAL;
end;
if not CreateProcess (PChar(win_Dir + '\notepad.exe'), nil, nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, SUI, PI) then Exit;
sleep(150);
keybd_event(VK_SHIFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(82, 0, KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(82, 0, KEYEVENTF_KEYUP, 0);
keybd_event(84, 0, KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(84, 0, KEYEVENTF_KEYUP, 0);
keybd_event(70, 0, KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(70, 0, KEYEVENTF_KEYUP, 0);
keybd_event(77, 0, KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(77, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
end;
Никита (2005-01-17 20:21:00) [4]
> begin...end © (17.01.05 20:18) [6]
> > [5] Никита © (17.01.05 20:15)
>
> http://www.delphimaster.ru/cgi-bin/forum.pl?id=1105628978&n=5
Спасибо!
begin...end (2005-01-17 20:18:00) [5]> [5] Никита © (17.01.05 20:15)
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1105628978&n=5
Никита (2005-01-17 20:15:00) [6]
> begin...end © (17.01.05 20:07) [1]
> > Никита © (17.01.05 20:06)
>
> а) mouse_event
> б) keybd_event
А использовать это как?
Приведи пример.
Kerk (2005-01-17 20:11:00) [7]begin...end © (17.01.05 20:09) [3]
мда.. точно.
begin...end (2005-01-17 20:09:00) [8]> [2] Kerk © (17.01.05 20:08)
Не знаю. Я другого понять не могу - почему в последнее время количество вопросов про "эмулирование" резко увеличилось? Не к добру это... Эмуляторы всякие, имитаторы...
Kerk (2005-01-17 20:08:00) [9]begin...end © (17.01.05 20:07) [1]
как ты думаешь, почему они поиском по форуму не пользуются?
begin...end (2005-01-17 20:07:00) [10]> Никита © (17.01.05 20:06)
а) mouse_event
б) keybd_event