Programm in vordergrund holen
-
hallo community
ich habe ein simples programm geschrieben
es ist einfach ein popup, der dem nutzer eine info übergibtnun soll dieses fenster aber nicht mehrmals erscheinen, sondern nur einmal
wenn der nutzer nochmal einen aufruf des popups verursacht, dann soll die bereits geöffnete instanz in den vordergrund geholt werdenaber wie kann ich das bewerkstelligen
ich hab es mit findwindow probiert aber der popup wird damit wohl nicht erkannt, zumidnest funktioniert es so nicht
hier der quelltext bisher:#include <windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nCmdShow) { char *psMutexName = "UBnomail"; char *text = "Mailversand ist über diesen Computer nicht möglich!\r\nBitte nutzen sie ihr eigenes Mailkonto (z.B. GMX, web.de)"; char *titel = "Information"; CreateMutex(NULL, true, psMutexName); if(GetLastError() == ERROR_ALREADY_EXISTS) { HWND hWndFirst = FindWindow(titel, NULL); BringWindowToTop(hWndFirst); SetForegroundWindow(hWndFirst); return -1; } MessageBox(NULL, text, titel, MB_OK | MB_ICONWARNING); return 0; }mfg
Michael Richter
-
FindWindow kann das Fenster nicht finden, weil (zumindest in dem Code oben) die Parameter falschrum übergeben werden.
Richtig wäre: Erst NULL, dann Titel
HWND hWndFirst = FindWindow(NULL, titel);
-
*handandenkopfklatsch*
das wars
dank dir