Thread View: borland.public.cppbuilder.nativeapi
1 messages
1 total messages
Started by const * const char ME
Thu, 21 Feb 2008 16:47
Opening HTML doc using Shell Execute with IE7 fails on Vista is some cases!
Author: const * const char ME
Date: Thu, 21 Feb 2008 16:47
Date: Thu, 21 Feb 2008 16:47
41 lines
2378 bytes
2378 bytes
I have code like this:
ShellExecute(NULL, "open", aPath, NULL, NULL, SW_SHOWMAXIMIZED);
where aPath = "D:\Example Projects\test.html "
Note the space in the path above. When executed in Vista (default browser =
IE7) IE automatically changes this to:
"D:\Example%20Projects\test.html " and produces a "Navigation to the webpage
was cancelled" error for some reason.
Interestingly to me, on XP, (also with IE7) it does NOT have this problem.
I suspect it has something to do with a local file based URL and protected
mode in IE?
Anyway - So I tried this (figuring it would remove the spaces):
char shortPath[MAX_PATH] = {'\0'};
GetShortPathName(aPath.c_str(), shortPath, MAX_PATH);
ShellExecute(NULL, "open", shortPath, NULL, NULL, SW_SHOWMAXIMIZED);
However before displaying it, IE expands the short path to the full path,
then does the exact same thing - replacing the space with %20 - which again
fails in the same way.
Lastly - I noticed something very odd... The problem seems to be related to
if the browser is already running!
To reproduce:
1. Close all the IE windows
2. Execute the above code. It works as it should - with no %20's - they
are left alone as spaces.
3. Without closing IE, immediately execute the same code again, it has %20
characters parsed into the address and fails!
Thus - if you have an IE window opened before executing the above code with
a path that has spaces then it fails - otherwise it works....
Any ideas???
TIA
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads