![]() |
Re: Text an Eingabezeile schicken
Hm, da passiert nichts.
Ich habe mal den Windows Taschenrechner gestartet und es mit dem ausprobiert - ohne Ergebnis :-/ Es wird zwar ein handle gefunden, aber in der Listbox tut sich nix. [edit]Bei mir funktioniert das immer korrekt.[/edit] |
Re: Text an Eingabezeile schicken
Liste der Anhänge anzeigen (Anzahl: 1)
Das Projekt im Anhang funktioniert bei mir...
|
Re: Text an Eingabezeile schicken
Hm, ja, bei mir auch.
Also mit ...
Delphi-Quellcode:
Bekomme ich als Ergebnis: The 4th Coming:AppClass ... Rechner:SciCalc
var
wlist : TWindowList; begin wlist := TWindowList.Create; // Objekt erzeugen try wlist.AddClassname := True; // zusätzlich den Windows-Classname anfügen wlist.EnumTopLevelWindows; // Alle Windows auflisten ListBox1.Items.Assign(wlist); // Ergebnis in eine Listbox kopieren finally wlist.Free; end; end; Aber "handle:=FindWindow('AppClass',nil);" liefert wieder nichts :cat: Jetzt muss ich aber leider in 's Bett. Bin über 's WE nicht da, also nicht wundern. Aber ich hoffe, wir können das Prob Montag wieder bearbeiten ;-) |
Re: Text an Eingabezeile schicken
Wenn du TWindowList aus
![]()
Delphi-Quellcode:
function GetD4OHandle: HWND;
var wlist : TWindowList; idx: Integer; begin Result := 0; wlist := TWindowList.Create; try wlist.AddClassname := True; wlist.EnumTopLevelWindows; idx := wList.IndexOf('The 4th Coming:AppClass'); If idx <> -1 then Result := wlist.Handles[idx]; finally wlist.Free; end; end; |
Re: Text an Eingabezeile schicken
So, bin wieder da :witch:
Was ist denn das jetzt für eine Funktion? Ersetzt die die EnumTargetWindow-Funktion? Und wo gibt mir diese Function, wenn überhaupt, das handle für die Eingabezeile zurück? sry, wenn ich auf 'm Schlauch steh', aber ich steig echt nicht durch :duck: btw. woher weißt du, dass The 4th Coming das deutsche Die 4te Offenbarung ist? :gruebel: |
Re: Text an Eingabezeile schicken
Zitat:
"The 4th Coming:AppClass" ist nicht das Fenster, das du suchst, sondern der Taskbar Eintrag. Das gesuchte Fenster hat den Klassennamen "#32770" und den Titel "Die 4. Offenbarung". Daher:
Delphi-Quellcode:
//Findet das erste Edit Control im D4O Fenster und speichert das Handle in einer globalen Variable
var D4OEdit: HWND = 0; ... function EnumWindowCallback(WindowHandle: HWND; lParam1: lParam): Boolean; stdcall; var sClassName: array[0..255] of Char; begin Result := True; FillChar(sClassName[0], 256, 0); If GetClassName(WindowHandle, @sClassName, 256) <> 0 then If sClassName='Edit' then begin {Hier kannst du z.B prüfen, ob sich das Edit an einer bestimmten Position im Fenster befindet} D4OEdit := WindowHandle; Result := false; end; end; procedure FindD4OEdit; var D4OHandle: HWND; begin D4OHandle := FindWindow('#32770', 'Die 4. Offenbarung'); If D4OHandle <> 0 then begin EnumChildWindows(D4OHandle, @EnumWindowCallback, 0)); end else begin //D4O läuft nicht end; end; Zitat:
|
Re: Text an Eingabezeile schicken
*Total perplex*
Jetzt, tja, ähm, ich weiß nich' so genau :?:
Delphi-Quellcode:
... gibt immer die msg zurück, wenn das D4O Fenster geöffnet ist. Dazu muss die Eingabezeile gar nicht existieren (sprich: man muss nicht eingelogg sein), aber das wusstest du, denk ich mal :bouncing4:
begin
D4OEdit := WindowHandle; Result := false; showmessage('Result := false'); end; Jetzt müsste ich das/die handle(s) (alle) in eine Listbox eintragen oder per showmessage() anzeigen können, damit ich das richtige handle herauskriegen und dorthin einen Text schicken kann :coder: |
Re: Text an Eingabezeile schicken
Achso, ich dachte du willst dir einen Loader schreiben, der dich automatisch einlogt :stupid:
Du musst wohl die Koordinaten der Controls mitinander vergeichen, um herauszufinden, ob das richtige dabei ist. (-> ![]() |
Re: Text an Eingabezeile schicken
Oh, automatisch einloggen ist auch nicht schlecht *rofl* Danach wurde ich schon gefragt, hab 's aber als nicht möglich abgestempelt :dp: Aber das ist wohl ein anderes Thema (weil umfangreich).
Diese MSDN ist mir schleierhaft. Zitat:
Und dieser "Pointer to a structure" ... :freak: |
Re: Text an Eingabezeile schicken
Zitat:
Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:05 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