Autor Beitrag
xS1L3nTx
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mo 05.04.10 02:59 
Tjor Hallo Miteinander,

Ich bin neu hier und habe vor langer zeit angefangen mal mich intensiv mit Delphi zu beschäftigen, nun allerdings habe ich eine lange pause gemacht (kurz:=6-7 Jahre :/ ) und muss mich erstmal wieder reinfuchsen. ^^'

Nun mein Problem:
Ich habe ein Programm womit ich über die WinampAPI für Foobar2000 den Titel auslesen kann und diesen nun in die Zwischenablage gespeichert habe.
Nun währe meine Frage wie ich einerseits die "Shift+Enter"-Taste (aufruf des All-Chats) sowie "STRG+V"-kombination in einer Spieloberfläche (OpenGL/D3D) simulieren kann um jene zwischenablage einfach in das Spiel zu kopieren.

Gibt es da eine Möglichkeit?
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Mo 05.04.10 07:18 
Nach einer kurzen Suche hier im Forum kann ich Dir folgende Hilfe geben:
Nutze die Klasse TClipboard aus der Unit Clipbrd für das Einfügen.

Zum Abprüfen der Tasten kannst Du direkt ein Tastendruck Ereigniss verwenden. Bin mir aber jetzt nicht sicher ob es "OnKeyPress" oder "OnKeyDown" heißt. Zum Tastendruck gibt es mehrere Events (Ereignisse). Bei einigen kannst Du Dann auch abfragen welche Tasten gedrückt sind. Alternativ achaue Dir mal GetAsynchcKey an.

noch einen schönen Ostermontag,
Tilo
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Mo 05.04.10 14:32 
Naja, also wenn schon müsste es OnKeyDown sein. OnKeyPress geht nur für Tasten, die irgendein Zeichen einfügen würden, dementsprechend wird Key als char übergeben, bei OnKeyDown ist es glaube ich ein WORD, das der Taste entspricht. Aber das geht ja auch nur für eine Taste. Man müsste also schon GetAsyncKeyState nehmen:

ausblenden Delphi-Quelltext
1:
2:
if (GetAsyncKeystate(VK_CONTROL) < 0and (GetAsyncKeystate(Ord('V')) < 0then
  // gedrückt
xS1L3nTx Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mo 05.04.10 14:49 
Ich weiß nicht ob das klar geworden ist; Die 3D umgebung ist extern vom eigendlichen Programm, das eigentliche Programm soll aber Windowsweit (nicht nur innerhalb des Programms) "STRG+V" simulieren um jenen effekt (clipboardinhalt wird in die 3D Umgebungs-Chat eingefügt) auszuführen. Es soll nicht innerhalb des Programms das ich damit schreiben will simuliert werden.

Aber ich danke für euer bemühen^^
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mo 05.04.10 15:04 
Vielleicht hilft dir das hier weiter: www.delphi-forum.de/....php?p=142452#142452
Ein anderen Thread zu dem Thema gibt es hier: www.delphi-forum.de/viewtopic.php?t=46654
>M@steR<
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 288
Erhaltene Danke: 3



BeitragVerfasst: Mo 05.04.10 19:56 
Gelöscht


Zuletzt bearbeitet von >M@steR< am Di 17.09.13 02:38, insgesamt 1-mal bearbeitet
xS1L3nTx Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Do 08.04.10 01:50 
Habs hinbekommen,

Danke Fear, der 2. Link hat sehr geholfen!

@Master:
Noch ein Fremdprogramm? nein danke... ;)