|
| Generer tasteanslag Fra : Toke Gaarde Schmidt |
Dato : 27-01-01 17:04 |
|
Er der nogen, der kan fortælle mig, hvordan man "genererer" tasteanslag ved
hjælp af et simpelt program? Jeg vil gerne starte programmer op automatisk
med Windows's værktøj: Planlagte opgaver og senere styre udførelsen med
diverse tasteanslag udført automatisk af et program. Hvis du har et program
liggende, der er relevant i denne sammenhæng, så vil jeg naturligvis gerne
have tilsendt en kopi.
Med venlig hilsen
Toke
| |
Uffe Kousgaard (28-01-2001)
| Kommentar Fra : Uffe Kousgaard |
Dato : 28-01-01 10:24 |
|
På delphi cd'en (D4+D5 i hvert fald) ligger der et program, som hedder
sendkey.pas. Det bruges til at sende tastaturtryk til det aktive program.
I dette eksempel ventes der i 4 sek, så fyres "Alt-E" af, vent 3 sek, "A"
etc.
sleep(4000); SendKeys('%E', false);
sleep(3000); SendKeys('A', false);
Hilsen
Uffe
"Toke Gaarde Schmidt" <1950sol@post4.tele.dk> wrote in message
news:94urhs$1qk$1@news.inet.tele.dk...
> Er der nogen, der kan fortælle mig, hvordan man "genererer" tasteanslag
ved
> hjælp af et simpelt program? Jeg vil gerne starte programmer op automatisk
> med Windows's værktøj: Planlagte opgaver og senere styre udførelsen med
> diverse tasteanslag udført automatisk af et program. Hvis du har et
program
> liggende, der er relevant i denne sammenhæng, så vil jeg naturligvis gerne
> have tilsendt en kopi.
>
> Med venlig hilsen
>
> Toke
>
>
>
>
| |
Olav M.J. Christians~ (31-01-2001)
| Kommentar Fra : Olav M.J. Christians~ |
Dato : 31-01-01 22:46 |
|
Uffe Kousgaard skrev i meddelelsen <950ofe$8am$1@news.inet.tele.dk>...
>På delphi cd'en (D4+D5 i hvert fald) ligger der et program, som hedder
>sendkey.pas. Det bruges til at sende tastaturtryk til det aktive program.
Man kan også selv lave noget med Windows API.
Følgende stump kode stammer fra et lille testprogram som simulerer nogle
taster i et memo-felt:
{ hent status på keyboard }
GetKeyboardState(lpKeyState);
lpKeyState[vk_control] := 128; // press CTRL
{ set status på keyboard }
SetKeyboardState(lpKeyState);
{ kør cursoren op i memo feltet med CTRL nedtrykket }
memo1.SetFocus;
keybd_event(vk_home,0,0,0);
keybd_event(vk_home,0,KEYEVENTF_KEYUP,0);
application.processmessages;
sleep(1000); // vent 1 sekund
lpKeyState[vk_control] := 0; // release CTRL
lpKeyState[vk_shift] := 128; // press SHIFT
{ set status på keyboard }
SetKeyboardState(lpKeyState);
{ kør tre gange pil ned }
keybd_event(vk_down,0,0,0);
keybd_event(vk_down,0,KEYEVENTF_KEYUP,0);
application.processmessages;
keybd_event(vk_down,0,0,0);
keybd_event(vk_down,0,KEYEVENTF_KEYUP,0);
application.processmessages;
keybd_event(vk_down,0,0,0);
keybd_event(vk_down,0,KEYEVENTF_KEYUP,0);
{ nu er tre linier markeret i memo feltet }
lpKeyState[vk_shift] := 0; // release SHIFT
application.processmessages;
M.v.h.
Olav M.J. Christiansen
IT Consultant
Jydholm IT
omjc@jydholm.dk / omjc@e-kontor.dk
| |
|
|