SetWindowText bei einer anderen Anwendung
-
Thx, nur leider mag das meine Firewall und mein Antivirenprogramm nicht
.
-
Seeeman schrieb:
Thx, nur leider mag das meine Firewall und mein Antivirenprogramm nicht
.Dann zeig mal COde wie Du das machst. WM_SETTEXT ist universal und unabhängig von der einer Firewall!
-
Im Prinzip so:
g_hWinampSuche = FindWindowA("#32770",0);...
HWND edit = GetDlgItem(g_hWinampSuche,WINAMP_EDIT_SEARCH); SendMessage(edit ,WM_SETTEXT,0,(LPARAM)Packet->code);
-
Und was ist Packet->code?
-
ein 128 Zeichen großes char Array
-
TCHAR, char, wchar_t? Ist Dein Programm Unicode oder MBCS?
-
char.
Daran liegts aber sicher nicht, denn wie gesagt, das ganze funktioniert einwandfrei, wenn ich Firewall (Sygate) und Antivir (Nod32) deaktiviere.
-
Der Mann hat eine sehr gute Firewall

Nein, im Ernst,...hast du ansonsten noch Routinen im Programm,
die ggf. ein "pause" deiner Anwendung durch eine Firewall verursachen
könnten? Z.B. HTTP-Calls, FTP-Verbindungen usw? Evtl. kommt dein
Programm ja nicht einmal bis zur Stelle an der du SendMessage verwendest?!Mal mit debuggen versucht?
-
Doch, das Programm kommt schon soweit ...
Und ... Habs jetzt beobachtet: Es ist nicht WM_SETTEXT, sondern wenn FW und AV an sind, bekomm ich kein Handle auf das Edit Control... liegt also an GetDlgItem ?
Komisch. Gibts noch ne andere möglichkeit, an das Handle des Edits zu kommen?
-
Hat dazu vielleicht noch jemand eine Idee ? Vielen Dank!
-
Bei manchen Programmen sind die Handles immer gleich, bei manchen nicht. Du könntest es also auch hard coden und nicht mit GetDlgItem holen, ist aber ziemlich unsauber und wenn das Zielprogramm geupdatet wird kannst dir natürlich auch nicht sicher sein das das handle gleich bleibt.
Ne andere Möglichkeit als GetDlgItem kenn ich nicht. Es gibt natürlich noch FindWindow und konsorten aber die werden dann sicherlich auch geblockt.schirrmie