Avatar billede dksl Nybegynder
26. december 2003 - 20:44 Der er 25 kommentarer

Program der virtuelt trykker på en tast

Jeg skal bruge et program der simulerer aktivitet på tastaturet....

Ønsker en forklaring til programmeringen, da jeg så selv programmerer det....
Avatar billede stone Forsker
26. december 2003 - 23:28 #1
og hvorledes har du tænk dig aktiviten skulle se ud?
Avatar billede leifj Nybegynder
27. december 2003 - 11:30 #2
Er det noget lignende det her du ønsker:

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  SpeedButton1.Down:=True;
end;

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Speedbutton1.Down:=False;
end;

Du skal huske, at SpeedButton1 skal have et groupindex større end 0, og AllowAllUp skal være sand, for at det virker.
Avatar billede dkn Nybegynder
27. december 2003 - 17:14 #3
der ligger en unit som hedder sendkeys på din delphi cdrom under ekstras eller sådan noget. Du kan nok også finde den på internettet anyway
Avatar billede hmann Nybegynder
15. januar 2004 - 11:58 #4
er det inde i dit eget program tasterne skal simuleres?

hvis du på hvilket som helst tidspunkt i dit program vil simulere fx et space-tryk:

keybd_event(VK_SPACE,0,0,0);

så reagerer dit program som om brugeren netop har trykke space!

der findes koder til alle taster på tasteturet fx:

<Enter> = keybd_event(VK_RETURN,0,0,0);
<ESC>  = keybd_event(VK_ESCAPE,0,0,0);
<D>    = keybd_event(VK_D,0,0,0);
<5>    = keybd_event(VK_5,0,0,0);

osv osv... du kan finde alle koderne i "Win32 Programmers Reference"! bare søg på "Virtual Key Codes"

vær opmærksom på at hvis du simulerer shift, alt, ctrl og lignende skal du "slippe" tasten igen:

keybd_event(VK_RSHIFT,0,0,0);  <--- simulerer højre shift
keybd_event(VK_RSHIFT,0,KEYEVENTF_KEYUP,0);  <--- simulere at slippe højre shift

hvis du fx skal simulere en shift+tab gøres det derfor således:

keybd_event(VK_RSHIFT,0,0,0);
keybd_event(VK_TAB,0,0,0);
keybd_event(VK_RSHIFT,0,KEYEVENTF_KEYUP,0);

/HMann
Avatar billede dallerweb.dk Nybegynder
15. januar 2004 - 12:06 #5
Kan du evt. lave et program der aktiverer alle taster fra a-z så andre applikationer opfatter det...

Det skal blot køre i løkke....

simuler a-z vent 1 sek.... loop
Avatar billede dksl Nybegynder
15. januar 2004 - 12:24 #6
dallerweb.dk / i andre> Gider du lave et sådan program?
Avatar billede hmann Nybegynder
15. januar 2004 - 13:19 #7
hvad skal programmet bruges til - det er noget lettere at lave et eksempel hvis man ved hvad det er man laver!
Avatar billede dksl Nybegynder
15. januar 2004 - 13:27 #8
Det er et "intelligent" program der tester om taster a-z jævnligt bruges...

det forslag dallerweb.dk kommer med er genialt...
Avatar billede hmann Nybegynder
15. januar 2004 - 13:36 #9
øhh forstod spørgsmålet som om at der skulle simlueres tastetryk - ikke noget om at aflæse om de blev trykket på??

hvis man skal lave et program som kan ligge i baggrunden af windows og opfange alle tastetryk er det lidt mere kompliceret - man skal have fat i nogle hooks! ved ikke om jeg har tid til at lave noget sådan!

hvis du bare skal vide hvilke taster der bruges mest, er det vel også en mulighed at installere en alm. keylogger og analysere output'et eller hvad?
Avatar billede hmann Nybegynder
15. januar 2004 - 13:41 #10
dallerweb -> så andre applikationer opfatter tastetrykkene?

det er vel kun den aktive windows applikation der modtager tastetrykket?
hvis vi siger du har word og excel og delphi åben - hvis vi så laver et program der ligger i baggrunder og "trykker" på taster, så er det kun det aktive program der modtager og behandler "tastetrykket"...
Avatar billede dksl Nybegynder
15. januar 2004 - 13:42 #11
Du læser min kommentar forkert, jeg ønsker at snyde det "intelligente" program...
Avatar billede hmann Nybegynder
15. januar 2004 - 13:44 #12
ja har nok tolket forkert - du bliver nødt til at beskrive det mere præcist før jeg kan hjælpe...
Avatar billede dkn Nybegynder
15. januar 2004 - 17:24 #13
procedure TForm1.Button1Click(Sender: TObject);
var
  c:char;
begin
  for c := 'A' to 'Z' do
  begin
    keybd_event(VkKeyScan(C), 1, 0, 0);
    keybd_event(VkKeyScan(c), 1, KEYEVENTF_KEYUP, 0);
  end;
end;

trykker virtual på taster fra a..z. Du skal måske have lagt et delay ind
Avatar billede dksl Nybegynder
15. januar 2004 - 18:09 #14
looper den ?

I så fald må du gerne compile den og sende den til:

dksl@footpath.dk
Avatar billede dksl Nybegynder
15. januar 2004 - 18:12 #15
Ups... kan se det er en button, kan du ikke lige sætte en timer ind der så trykker på knappen...
Avatar billede dkn Nybegynder
15. januar 2004 - 19:21 #16
har du ikke delphi?
Avatar billede dksl Nybegynder
15. januar 2004 - 19:33 #17
Fik version 7.0 på en alt om data cd.. men den kan jeg selvfølgelig ikke finde...

kan den downloades ?
Avatar billede dkn Nybegynder
15. januar 2004 - 19:38 #18
ja
Avatar billede dkn Nybegynder
15. januar 2004 - 19:39 #19
Avatar billede dksl Nybegynder
15. januar 2004 - 19:42 #20
Hvad indebærer det at det er en demo ?
Avatar billede dkn Nybegynder
15. januar 2004 - 19:49 #21
hm kan snart ikke huske...

Du kan vidst downloade en personal edition og den må du så ikke bruge til at lave programmer du sælger. Og den er så gratis.

Så kan du også hente enterprise editon, og den mener jeg er en 30 dags trail.
Avatar billede dksl Nybegynder
15. januar 2004 - 19:56 #22
jeg kan ikke finde personal edition...
Avatar billede dksl Nybegynder
15. januar 2004 - 20:02 #23
Jeg er ved at hente architect edition fra:

http://www.borland.com/products/downloads/download_delphi.html

er det den forkerte ?

Det er en 30 days trial... så ville egentlig hellere have personal...
Avatar billede hreiff Nybegynder
15. juni 2004 - 11:57 #24
Jeg kan sende et program der skriver 'abcd...xyz' hvert sekund, til det program der har focus. Er det noget ?
Avatar billede stefmeister Nybegynder
15. juni 2004 - 15:41 #25
En Demo kan du ikke bruge til noget. For når du har haft det i 30 dage, så dur dine programmer ikke mere, så skriver den Trial Expired eller lign, og så kan dine programmer ikke køre.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester