Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

So erhalten Sie eine Konsole Fensterhandle (HWND)

Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 124103
Zusammenfassung
Es kann hilfreich zum Bearbeiten eines Fensters eine Konsolenanwendung zugeordnet sein. Die Win32-API bietet keine direkte Methode zum Abrufen des das Fensterhandles einer Konsolenanwendung zugeordnet. Allerdings können Sie das Fensterhandle durch Aufrufen von FindWindow() abrufen. Diese Funktion Ruft ein Fensterhandle basierend auf einer Klassennamen oder Fenstername ab.

Rufen Sie GetConsoleTitle() den aktuellen Konsolentitel fest. Geben Sie dann den aktuellen Konsolentitel zu FindWindow().
Weitere Informationen
Da mehrere Fenster denselben Titel haben können, sollten Sie den aktuellen Konsole Fenstertitel an eine eindeutige Titel ändern. Dadurch können verhindern, dass das falsche Fensterhandle zurückgegeben werden. Verwenden Sie SetConsoleTitle(), um den aktuelle Konsole Fenstertitel ändern. Hier ist der Prozess:
  1. Rufen Sie GetConsoleTitle(), um den Fenstertitel für aktuelle Konsole speichern.
  2. Rufen Sie SetConsoleTitle() den Konsolentitel der auf einen eindeutigen Titel zu ändern.
  3. Rufen Sie Sleep(40), damit der Titel des Fensters aktualisiert wurde.
  4. Aufruf FindWindow (NULL, Uniquetitle) zu dem HWND dieser Aufruf gibt die HWND-- oder NULL zurück, wenn der Vorgang fehlgeschlagen ist.
  5. Aufruf SetConsoleTitle() mit dem Wert aus Schritt 1, zum Wiederherstellen des ursprünglichen Fenstertitel abgerufen.
Sie sollten den resultierenden HWND testen. Beispielsweise können Sie testen finden Sie unter Wenn der zurückgegebene HWND mit dem aktuellen Prozess, entspricht durch Aufrufen von GetWindowText() für das HWND und vergleichen das Ergebnis mit GetConsoleTitle().

Das resultierende HWND ist nicht unbedingt für alle Fenster-Handle Vorgänge geeignet.

Beispielcode

Der folgenden Funktion wird das aktuellen Konsole Anwendung das Fensterhandle (HWND) abgerufen. Wenn die Funktion erfolgreich ist, ist der Rückgabewert das Handle des Konsolenfensters. Wenn die Funktion fehlschlägt, ist der Rückgabewert NULL. Einige Fehlerüberprüfung wird, der Kürze halber weggelassen.
   HWND GetConsoleHwnd(void)   {       #define MY_BUFSIZE 1024 // Buffer size for console window titles.       HWND hwndFound;         // This is what is returned to the caller.       char pszNewWindowTitle[MY_BUFSIZE]; // Contains fabricated                                           // WindowTitle.       char pszOldWindowTitle[MY_BUFSIZE]; // Contains original                                           // WindowTitle.       // Fetch current window title.       GetConsoleTitle(pszOldWindowTitle, MY_BUFSIZE);       // Format a "unique" NewWindowTitle.       wsprintf(pszNewWindowTitle,"%d/%d",                   GetTickCount(),                   GetCurrentProcessId());       // Change current window title.       SetConsoleTitle(pszNewWindowTitle);       // Ensure window title has been updated.       Sleep(40);       // Look for NewWindowTitle.       hwndFound=FindWindow(NULL, pszNewWindowTitle);       // Restore original window title.       SetConsoleTitle(pszOldWindowTitle);       return(hwndFound);   }				

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 124103 – Letzte Überarbeitung: 07/11/2005 22:34:21 – Revision: 1.3

Microsoft Platform Software Development Kit January 2000 Edition

  • kbmt kbhowto kbwndw KB124103 KbMtde
Feedback
>/body> var varAutoFirePV = 1; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write(" &t=">ml>
mp;t=">tml>?DI=4050&did=1&t=">id=1&t=">.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> did=1&t=">l> + "//c.microsoft.com/ms.js'><\/script>"); l>">