[WinAPI] - ShBrowseForFolder - modeless window not working

Started by
0 comments, last by kubera 11 years, 4 months ago
Hey,
I was trying to create a modeless dialog window to choose a folder (that it doesn't stop the program).

BROWSEINFO bi;
memset( & bi, 0, sizeof( bi ) );
bi.hwndOwner = NULL;
bi.pidlRoot = NULL;
bi.pszDisplayName = FolderPath;
bi.lpszTitle = "Choose path of your folder";
bi.ulFlags = BIF_USENEWUI | BIF_VALIDATE | BIF_NONEWFOLDERBUTTON;
LPITEMIDLIST pIDL = SHBrowseForFolder( & bi );


Though it should work, it doesn't... I put some breakpoints after LPITEMIDLIST pIDL = SHBrowseForFolder( & bi ); and program appears to stop here and not go further until I close ShBrowseforFolder window. Also when dragging the window, my main window doesn't redraw. However by clicking on my main window I'm making it active (the titlebar becomes blue normally)... but it's still blocked by the ShBrowseForFolder window... What might be the problem?
I would be very grateful for any help!
Advertisement
It would be because both operations are processed in a single thread.
You could consider running this Shell API in an additional thread.
(a synchronization would be required)

This topic is closed to new replies.

Advertisement