![]() |
Systemweite Textausgabe
Ich hab eine Routine gefunden:
Delphi-Quellcode:
Quelle:
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; 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; ![]() Aufgerufen wird die mit
Delphi-Quellcode:
Soweit sogut, aber meine Probleme:
PostKeyEx32(ord('A'), [ssShift], false) {Großschreibung}
PostKeyEx32(ord('A'), [], false); {Kleinschreibung} 1) Wie bekomm ich ein AnsiChar (string geht ja net bei ord()) in Uppercase? 2) Wie kann ich zeichen wie z.B. # § % ( & < > und so schreiben? 3) Oder kennt jemand eine einfachere/ besser Routine? CrashMan |
Re: Systemweite Textausgabe
*wiedernachobenholt*
Keiner weiß antwort? :freak: Problem 1 ist schon gelöst ^^ :dancer: :dancer2: CrashMan :coder: :bouncing4: :bounce2: :bounce1: |
Re: Systemweite Textausgabe
Ok soweit sogut.
Groß-Kleinschreibung und so funktioniert alles. Nur ein Problem hab ich immernoch: Ich kann keine Zeichen ausgeben... Falls ihr net wisst was ich meine kann ich nachher schon eine Version hochladen... CrashMan |
Re: Systemweite Textausgabe
Hallo CrashMan,
entschuldige, dass ich dir leider auch nicht weiterhelfen kann, ich wollte nur mal fragen, was der Quelltext, den du da oben gepostet hast bewirkt. "Systemweite Textausgabe", soll das heißen, dass ich egal wo ich mich gerade befinde Text ausgegeben bekomme? Was ich nämlich mal programmieren wollte war nen Programm, welches, während ich mich in einem Vollbildmodus befinde, Änderungen in meinem Winamp (Liedtitel) über der derzeitigen Anwendung ausgibt ohne dass die Anwendung minimiert oder inaktiv wird. Wenn das sowas ist könntest du mir da vielleicht mal grad ein paar erklärende worte zum Qtext geben, damit ich das umsetzen kann. Gruß Jan |
Re: Systemweite Textausgabe
Also bei dem QT mach ich das folgend:
Ich bin irgentwo, z.B. im NotePad oder sonstwo. Dort drück ich F5 und der schreibt an die Position wo ich gerade bin das Wort, welches ich auf F5 gespeichert hab. Also z.B. "Hallo, ich bin der CrashMan" Falls du WinAmp steuern möchtest hab ich auch noch eine Idee: 1) Für CS und HL gibts/gabs HLamp 2) Allgemein geh mal in den Thread auf DelphiForum.de den ich oben gepostet habe. Dort ist ein Link zu Torry. Auf der Seite lädst du dir den HotKeyManager. Danach kannst du im OnCreate reinschreiben
Delphi-Quellcode:
Das addet F5-F11 zum HotKeymanager (Name HKM).
HKM.AddHotKey(116); HKM.AddHotKey(117); HKM.AddHotKey(118); HKM.AddHotKey(119); HKM.AddHotKey(120); HKM.AddHotKey(121); HKM.AddHotKey(122);
Dann bei dem HKM gehst du auf events. dort kannst du dann per
Delphi-Quellcode:
Den HotKey abfragen und mit der WinAmpApi oder so Winamp steuern (Boardsuche)
If HotKey = 116 then
CrashMan |
Re: Systemweite Textausgabe
Hallo Crashman, leider hast du mich nicht ganz verstanden. Was ich brauchte war einfach ne Textausgabe, die sich VOR alles andere schiebt, ohne dass ich irgendwas klicke.
Wie ich Winamp steuere weiss ich schon, aber trotzdem danke für die Erklärung :] es ist halt nur das problem der ausgabe, halt wie ich text vor ne d3d anwendung z.b. schmeisse, oder ne ogl anwendung. Naja, vielleicht weiss ja noch wer anders weiter. Gruß Jan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:58 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