Avatar billede diz Nybegynder
30. april 2002 - 22:52 Der er 5 kommentarer og
1 løsning

'Fake' et tryk på en knap i et andet program

Hejsa...

Jeg har lige et lille spørsmål. Håber der en nogen der kan hjælpe:

Jeg skal 'fake' et tryk på en knap i et andet program, uden at kende andet en knappens HANDLE. Jeg kender altså ikke knappens position. Er der nogen der ved hvordan jeg kan klare dette? Det skal foregå uden at musen flytter sig. Nedenstående er hvad jeg har fundet frem til...


procedure TForm1.Timer1Timer(Sender: TObject);
var
  HandlePaaKnap : hWnd;
begin
.
.//(her finder jeg handle på min knap)
.
SendMessage(HandlePaaKnap, BN_CLICKED ,0, 0);
.
.
.
end;

Ser det helt forkert ud? Det virker nemlig ikke.

PLEASE HELP!!!!
Avatar billede easysoft_studios Nybegynder
30. april 2002 - 23:06 #1
det virker totalt sycho.. wird man... glæder mig til at se svaret :)
Avatar billede diz Nybegynder
30. april 2002 - 23:34 #2
Jeg har nu forøsøgt med :

SendMessage(button1.handle, WM_KeyDown, VK_RETURN, 0);

grunden hertil er at jeg ville sætte fokus på knappen først og derefter sende et 'fake' tastetryk fra Return-tasten....det burde vel kunne lade sig gøre, men hvad er værdien for 'return'-tasten?
Avatar billede spectual Nybegynder
01. maj 2002 - 01:30 #3
vk_return, men jeg har noget kode liggende der virker - har engang lavet præcis det samme ;)
Avatar billede spectual Nybegynder
01. maj 2002 - 01:36 #4
kan ikke helt huske hvad for noget af koden, der faktisk virkede. Du kan prøve:

procedure vindue_send_vklik (til_hvem : hwnd);
begin;
postmessage (til_hvem,wm_lbuttondown,1,0);
postmessage (til_hvem,wm_lbuttonup,1,0);
end;

eller:

procedure vindue_skriv (til_hvem : hwnd; hvad : string);
var
keycode : word;
cnt : integer;
begin;
cnt:=1;
while cnt<=length (hvad) do begin;
keycode:=VkKeyScan (hvad [cnt]);
postmessage (til_hvem,wm_keydown,keycode,1);
cnt:=cnt+1;
end;

end;

hvor du kalder den med:

vindue_skriv (handle_paa_din_knap, #13);
Avatar billede diz Nybegynder
01. maj 2002 - 14:42 #5
TUSINDE TAK!!!!!, spectual. Du har lige reddet min dag. Og det var:

postmessage (til_hvem,wm_lbuttondown,1,0);
postmessage (til_hvem,wm_lbuttonup,1,0);

der virkede :)
Avatar billede spectual Nybegynder
19. maj 2002 - 17:27 #6
velbekomme :o)
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