![]() |
Re: away-Programm
Eintragung der Procedure zum versenden der simulierten Tasten:
Delphi-Quellcode:
Procedure für das versenden ! (unter implementation einfügen)type TForm1 = class(TForm) private { Private-Deklarationen } procedure PostKeyEx32(key: Word; const shift: TShiftState; specialkey: Boolean); public { Public-Deklarationen } end;
Delphi-Quellcode:
Beispiel zum versenden:
procedure PostKeyEx32(key: Word; const shift: TShiftState; specialkey: Boolean);
type TShiftKeyInfo = record shift: Byte; vkey: Byte; end; byteset = set of 0..7; const shiftkeys: array [1..3] of TShiftKeyInfo = ((shift: Ord(ssCtrl); vkey: VK_CONTROL), (shift: Ord(ssShift); vkey: VK_SHIFT), (shift: Ord(ssAlt); vkey: VK_MENU)); var flag: DWORD; bShift: ByteSet absolute shift; i: Integer; begin for i := 1 to 3 do begin if shiftkeys[i].shift in bShift then keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), 0, 0); end; { For } if specialkey then flag := KEYEVENTF_EXTENDEDKEY else flag := 0; keybd_event(key, MapvirtualKey(key, 0), flag, 0); flag := flag or KEYEVENTF_KEYUP; keybd_event(key, MapvirtualKey(key, 0), flag, 0); for i := 3 downto 1 do begin if shiftkeys[i].shift in bShift then keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), KEYEVENTF_KEYUP, 0); end; end;
Delphi-Quellcode:
Ist das von Swiss ich hoffe so hilft es dir mehr...
procedure TForm1.Button1Click(Sender: TObject);
begin // Simuliert die Linke Windows taste PostKeyEx32(VK_LWIN, [], False); // Simuliert den Buchstaben D PostKeyEx32(Ord('D'), [], False); // Simuliert die Tastenkombination Strg-Alt-C PostKeyEx32(Ord('C'), [ssctrl, ssAlt], False); end; |
Re: away-Programm
Uuups..einmal zu viel
[gelöscht] |
Re: away-Programm
|
Re: away-Programm
@ hOnkibOnk: Bei mir kommen diese Fehler wenn ich das Programm strten will:
[Fehler] Unit1.pas(15): Ungenügende Forward- oder External-Deklaration: 'TForm1.PostKeyEx32' [Fataler Fehler] Project2.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden Mein Code:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } procedure PostKeyEx32(key: Word; const shift: TShiftState; specialkey: Boolean); public { Public-Deklarationen } end; var Form1: TForm1; implementation procedure PostKeyEx32(key: Word; const shift: TShiftState; specialkey: Boolean); type TShiftKeyInfo = record shift: Byte; vkey: Byte; end; byteset = set of 0..7; const shiftkeys: array [1..3] of TShiftKeyInfo = ((shift: Ord(ssCtrl); vkey: VK_CONTROL), (shift: Ord(ssShift); vkey: VK_SHIFT), (shift: Ord(ssAlt); vkey: VK_MENU)); var flag: DWORD; bShift: ByteSet absolute shift; i: Integer; begin for i := 1 to 3 do begin if shiftkeys[i].shift in bShift then keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), 0, 0); end; { For } if specialkey then flag := KEYEVENTF_EXTENDEDKEY else flag := 0; keybd_event(key, MapvirtualKey(key, 0), flag, 0); flag := flag or KEYEVENTF_KEYUP; keybd_event(key, MapvirtualKey(key, 0), flag, 0); for i := 3 downto 1 do begin if shiftkeys[i].shift in bShift then keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), KEYEVENTF_KEYUP, 0); end; end; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin PostKeyEx32(Ord('D'), [], False); end; end. |
Re: away-Programm
Wie wäre es mit meiner Lösung???
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, SRUtils, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin SendKeys('Bin weg!'); end; end. |
Re: away-Programm
is ja hammer, das geht !!! :hello: :hello: :hello: :hello: :hello: :hello:
Und wie mache ich die Eingabe Enter, also zum abschicken? Danke @ Kinimod8 |
Re: away-Programm
HI!
Probier mal hinter den String noch zu schreiben:
Delphi-Quellcode:
Ciao fkerber
+#13#10
|
Re: away-Programm
Cool, geht vielen Dank...nun is mein Proggi fast fertig!!! :dancer: Juhuuuuuu :spin2: *freu*
Danke nochmal euch allen |
Re: away-Programm
Zitat:
|
Re: away-Programm
SendKeys(#13);
Damitt würdest Du das drücken der Taste Enter senden... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz