AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Tastendruck an ein Programm schicken
Thema durchsuchen
Ansicht
Themen-Optionen

Tastendruck an ein Programm schicken

Ein Thema von Auron3 · begonnen am 13. Sep 2007 · letzter Beitrag vom 13. Sep 2007
Antwort Antwort
Seite 2 von 2     12   
Auron3

Registriert seit: 13. Sep 2007
7 Beiträge
 
#11

Re: Tastendruck an ein Programm schicken

  Alt 13. Sep 2007, 20:14
sry ich verstehe nur bahnhof x_X

also als erstes hohle ich mir das Handel mit

window := FindWindow(NIL,'Notepad'); das klappt auch, aber dann will ich eine nachricht dahin schicken das gerade 'STRG' und 'A' im notepad gedrückt wurde.

das weiß ich nicht wie es geht, und mit den ganzen suchergebnissen kann ich nichts anfangen...

nur das es irgendie mit

SendMessage(window,"ne nachricht, ka welche",NIL,NIL); geht >_<
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#12

Re: Tastendruck an ein Programm schicken

  Alt 13. Sep 2007, 20:32
SendMessage(Handle, WM_SETTEXT, 0, LongInt(PChar('Bla bla bla'))); Das bringt Dir aber noch nix, wenn Du das verwendest mußt Du erst nach dem Handle des Memos im Notepad suchen.

Und window := FindWindow(NIL,'Notepad'); gibt bei mir 0 zurück, Window:=FindWindow(nil, 'Unbenannt - Editor'); findet eher was.

Beispielsweise würde das gehen:
Delphi-Quellcode:
   var Window:THandle;
begin
   Window:=FindWindow(nil, 'Unbenannt - Editor');
   Window:=FindWindowEx(Window, 0, nil, nil);

   SendMessage(Window, WM_SETTEXT, 0, LongInt(PChar('Bla bla bla')));
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#13

Re: Tastendruck an ein Programm schicken

  Alt 13. Sep 2007, 20:39
Na siehst DU,

mit ein bissel Eigeninitiative wird einem auch weitergeholfen.

Hier ein kommentiertes Beispiel:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
   Handle: HWND; //Unser Fensterhandle
   i: Integer; //Unsere Laufvariable für die For-Schleife

const
   sTEXT: String = 'Eine Nachricht. Keine Ahnung, welche'; //Unser Beispieltext

begin
   Handle := FindWindow('Notepad', nil); //Wir suchen das Handle des Notepads

   if Handle <> 0 then //wenn wir es gefunden haben
      Handle := FindWindowEx(Handle, 0, 'Edit', nil); //dann suchen wir das Handle des Editcontrols innerhalb des Notepads - denn dahin soll der Text gehen

   if Handle <> 0 then //wenn wir es gefunden haben
   for i := 1 to Length(sTEXT) do begin //gehen wir in einer Schleife den zu sendenden Text Zeichen für Zeichen durch und schicken ihn ans Edit-Feld
      SendMessage(Handle, WM_CHAR, Word(sTEXT[i]), 0);
   end;
end;
  Mit Zitat antworten Zitat
Auron3

Registriert seit: 13. Sep 2007
7 Beiträge
 
#14

Re: Tastendruck an ein Programm schicken

  Alt 13. Sep 2007, 20:50
ihr seit ja alle richtig nett und so und lieb euch ja auch aber was ihr da schreibt bringt mir 0 >_<

das mit dem Notpad war nur nen Beispiel ...

will an ein Prgramm schicken das die tasten STRG und A gedrückt wurden (zuerst STRG dann A, dann wird A losgelassen , dann STRG) so will ich das machen ^^ und keinen text in nen Notepad schreiben
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#15

Re: Tastendruck an ein Programm schicken

  Alt 13. Sep 2007, 21:21
Die Beiträge von Sunlight7 und mir waren auch nur Beispiele.
Es gibt noch x andere Wege, die alle zum gleichen Ergebnis führen, und die auch alle mit anderen Fenstern funktionieren.

Ausgangspunkt ist halt immer der, dass Du das Handle des Fensters findest, an welches Du Deine Tasten senden möchtest.

Und das machst Du mit FindWindow bzw. FindWindowEx.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#16

Re: Tastendruck an ein Programm schicken

  Alt 13. Sep 2007, 21:25
Gibt es dafür einen Menüeintrag? Wenn ja, würde ich an den Menüeintrag eine Button-Click / WM_COMMAND Nachricht schicken: http://www.delphipraxis.net/internal...=147649#147649
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz