Fenster-Handle (hWnd) herausfinden
-
Hallo zusammen,
habe ein neues Problem:
Ich möchte gerne in meiner Anwendung [C++/MFC (Compiler VS2008)] vor dem Beenden die Fensterposition in der Registry speichern.
Hier mein Ansatz:
this->FormClosing += gcnew System::Windows::Forms::FormClosingEventHandler(this, &Form1::SaveRect); //Aufruf private: System::Void SaveRect(System::Object^ sender, System::Windows::Forms::FormClosingEventArgs^ e) { HWND hwnd = {Das brauche ich}; GetWindowRect(hwnd, RECT rc); //Fensterposition ermitteln char cString[] = rc.top + "|" + rc.left; HKEY hKey; //hKey definieren RegCreateKeyEx(HKEY_CURRENT_USER,"Software\\Application",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hKey,0); //Verzeichnis erstellen, falls noch nicht existiert RegSetValueEx(hKey,"Window-Coordinates",0,REG_SZ,cString,strlen(cString)+1); RegCloseKey(hKey); //Handle schließen }
Nochwas: Wie kann ich Variablen Funktionsübergreifend verwenden? Also eine Variable aus einer anderen Funktion in einer Funktion abrufen?
Mfg, echo<delta>
-
Edit: Meine nicht MFC, sondern Windows-Forms, sry...
-
Hmm da es ja eine winform ist solltest du einfach mal in die msdn zur form klasse nachschauen. Dort werden auch alle Methoden und Properties aufgelistet. Eine davon, das weiß ich sicher, gibt dir das Handle des Fensters. Wie gesagt einfach mal nachschauen.
Schöne Grüße