Advertisement

[WinAPI] - ShBrowseForFolder - modeless window not working

Started by November 17, 2012 08:43 PM
0 comments, last by kubera 12 years 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!
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