Dialogbasierendes Programm - Dialog versteckt aufrufen?
-
Hallo.
Folgender Code, um ein dialogbasierendes Programm zu bekommen:int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { return DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG), NULL, DialogProc); // Dialog anzeigen }Das Programm öffnet also ein Dialogbox.
Wie kann ich das hier anstellen, dass das Programm versteckt (beispielsweise mit SW_HIDE) aufgerufen wird? (Soll kein Virus oder ähnliches werden, es liegt ja auch im SysTray).
Das war mit SW_HIDE immer ganz einfach, als ich nicht-dialogfeldbasierende Programme geschrieben habe. Da habe ich CreateWindow einfach mit SW_HIDE aufgerufen, aber das kann ich ja im moment bei DialogBox() nicht...... :-SDanke schonmal!!!
Der Chris
-
DialogBox nicht aufrufen.
-
wie wärs mit
ShowWindow(hDlg, SW_HIDE);in WM_INITDIALOG? wobei sich mir der Sinn dieser Maßnahme nicht wirklich erschließt.
-
hi, sorry komm jetzt erst zum schreiben...
also es ist so, aufrufen mag ich das dialog auf jeden fall, weil es im hintergrund laufen muss und es auf klicks etc reagieren muss (z.b rechte maustaste auf systray icon).
ShowDialog(hDlg, SW_HIDE habe ich in INITDIALOG auch probiert. aber da schreint da schlicht weg nicht zu funktionieren, denn es bleibt einfach sichtbar.was meint ihr?
-
DialogBox erstellt ja einen modalen Dialog und der wird immer angezeigt. Bei einem nicht modalen Dialog könntest du einfach WS_VISIBLE weglassen.
Also CreateDialogParam benutzen und noch ne kleine Nachrichtenschleife drunter.