Autor Beitrag
Ercan
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 01.10.09 20:01 
Hallo zusammen,

Mein Program läuft im SysTray und wartet bis in die Zwischenablage was kopiert wird.
Anschließend bearbeitet es den Inhalt und schreibt die Daten in einer Datei.

Momentan kopiere ich z.B. den IE-Browserinhalt mit Strg+A und Strg+C und das Programm erkennt das in Zwischenablage
was kopiert wurde verarbeitet es.
Ich möche aber anstatt Strg+A u. Strg+C eine Funktionstaste definieren. z.B. "F12" damit ich den Inhalt kopieren kann.

Das Programm soll also im Hintergrund immer auf den Tastendruck F12 reagieren und den aktuellen Browserinhalt in die Zwischenablage kopieren.

Für eine Hilfestellung währe ich sehr Dankbar.

LG

Ercan
fuba
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 125

Win7
D7 Ent.
BeitragVerfasst: Di 06.10.09 16:48 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
function Pressed(aKey: Integer): Bool;
begin
  Result := (GetAsyncKeyState(aKey)  and $8000) = $8000;
end;


oder
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
function KeyPressed: Integer;
var
   i : Integer;
   buf : TKeyboardState;
begin
   Result:=-1;
   if GetKeyboardState(buf) then
   begin
      for i:=0 to High(buf) do
      begin
         if (buf[i] and $80)<>0 then
         begin
            Result:=i;
            Exit;
         end;
      end;
   end;
end;


wenn du noch mehr suchst, Suche in: Delphi-Forum GETASYNCKEYSTATE oder Suche in: Delphi-Forum GETKEYBOARDSTATE
hoffe ich konnte heilfen.

lg. fuba
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: Mi 07.10.09 17:17 
Guck eher mal nach registerhotkey und schick dann ne entsorechende Message an firefox.
Ercan Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 07.10.09 19:02 
Hallo,
Mit Registerhotkey kann ich jetzt die Funktionstaste abfangen.

Wie kann ich jetzt denn inhalt von IE / FireFox in die Zwischenablage kopieren.

Also Strg+A und Strg+C simulieren.

Damit funktionert es leider nicht. (Keine Fehlermeldung, keine Reaktion)

keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(Ord('C'), 0, 0, 0);
keybd_event(Ord('C'), 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
sleep(10);
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(Ord('C'), 0, 0, 0);
keybd_event(Ord('C'), 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
sleep(10);


Viele Grüße

Ercan
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: Mi 07.10.09 21:48