Autor Beitrag
cs-schmarotzer
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Sa 27.12.03 16:46 
Ich habe einen String (nicht den Tanga), den ich in das Textfeld des Jump To File-Dialogs von Winamp 2.x eintragen will. Den Dialog kann ich oeffnen, aber ich schaffe es nicht, mit FindWindowEx diesen String ins Textfeld zu schreiben.
Hat da jemand Ahnung von?
Danke && hf :)
starfish
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Sa 27.12.03 17:36 
Zitat:
mit FindWindowEx diesen String ins Textfeld zu schreiben.

Du willst mit FindWindowEx in nen Textfeld schreiben? Das kann auch nicht funktionieren. Mit FindWindowEx kannst du nur das Fenster finden, in das du schreiben willst.

Wie man das macht, steht hier im Forum. Such mal nach WM_SETTEXT. Des is ne Windows-Botschaft. Dazu kannst du auch mal in der PSDK bzw. MSDN nachschlagen. :)

_________________
Viele Grüße
Jakob
cs-schmarotzer Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Sa 27.12.03 22:49 
OK, jetzt habe ich 4 Stunden lang vergeblich versucht, etwas zu reissen, aber es funzt nicht. Auch deshalb, weil ich die genannten Proggs (x-Spy etc) nirgendwo finde (x-spy.net ist unavailable <juhuu) und absolut nicht weiterkomme. Ich habe das Hande von Winamp, allerdings benoetige ich das Handle des JumpToFile-Fensters, das ich bereits mit Delphi oeffne. Auf diesem Fenster moechte ich in das obere Textfeld einen String schreiben, und ich hab keine Ahnung wie, denn ich kann nicht herausfinden, wie ich direkt auf dieses Textfeld zugreife, denn dann kann ich auch erst WM_SETTEXT bzw. SendMessage(...) verwenden. Mein Code sieht bis jetzt so aus:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure JumpToFile(sName:string);
var hWinAmp,hDialog:THandle;
begin
  hWinamp := FindWindow('Winamp v1.x', nil);
  Form1.WAexecute(11);    //oeffnet das JumpToFile-Fenster
  wait(300); //300msecs zur Sicherheit
  hDialog := GetWindow(hWinAmp,GW_HWNDPREV); //sollte mir das JumpToFile-Fenster geben (nicht sicher)
  SetFocus(hDialog);
  SendKeys(FindWindowEx(hDialog,0,'Edit',''),sName);
  wait(100); //100msecs zwischen den befehlen zur sicherheit (lol)
  SendKeys(FindWindowEx(hDialog,0,'Edit',''),#13);//Enter zum bestaetigen
end;

bei dem obigen "Edit" im FindWindowEx-Befehl habe ich das Problem, ausserdem bin ich mir bei dem GetWindow-Befehl zum Finden des neuen Fensters auch nicht sicher.
Das stresst gewaltigt!
Hilfe!
toms
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1099
Erhaltene Danke: 2



BeitragVerfasst: So 28.12.03 10:55 
Zitat:
hDialog := GetWindow(hWinAmp,GW_HWNDPREV); //sollte mir das JumpToFile-Fenster geben (nicht sicher)


Warum bist du dir da nicht sicher?
Überprüf doch mal, ob hDialog ungleich null ist.
cs-schmarotzer Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: So 28.12.03 14:59 
Nein, es ist nicht null. Allerdings weiss ich auch nicht, ob es denn wirklich das Fenster ist, nach dem ich suche, denn das kann ich aus meiner Sicht nicht kontrollieren!
Narf...
Trotzdem danke!