Filedialog braucht 5 Sekunden bis zum Öffnen
-
Hi,
ich habe hier ein sehr seltsames Problem mit einem stinknormalen Dateidialog:
OPENFILENAME ofn; memset(&ofn,0,sizeof(ofn)); ofn.lStructSize = sizeof(ofn); ofn.hwndOwner =(HWND)parent->GetHandle(); // handle auf ein verstecktes window wcsncpy(file,data->loadFile->c_str(),MAX_TEXT_SIZE); ofn.lpstrFile=file; ofn.nMaxFile =MAX_TEXT_SIZE; ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST; if(GetOpenFileName(&ofn)) { ...
Kein sehr spannender Code, aber von der Stelle an, an der ich GetOpenFileName() aufrufe bis zu dem Augenblick, zu dem der Dialog tatsächlich aufgeht, vergehen locker mal 5-8 Sekunden.
Das System selber ist nicht ausgelastet, es frisst keiner Rechenzeit und die Dateidialoge von anderen Programmen funktionieren schneller (allerdings weiß ich nicht, welche Funktion die hernehmen). OS ist Windows 7.
Hat jemand eine IDee, was da los sein könnte? Jeder Denkanstoß ist willkommen!
DikDik!
-
Vermute mal, das wird an Netzlaufwerken liegen. Lösung fällt mir jetzt keine ein, aber vllt. hilft google.
-
Hm.
Versuchs mal mit nem Handle auf ein nicht verstecktes Fenster.
Oder alternativ mal mit hwndOwner = NULL.
BTW: wieso der Cast nach HWND (ofn.hwndOwner =(HWND)parent->GetHandle()
)? Was gibtparent->GetHandle()
denn zurück?
-
Wenn ich den Debugger offen habe, dann dauert es bei mir auch sol lange durch die immense Anzahl der DLLs die nachgeladen werden.