I have a Pocket PC application, written in embedded Visual C/C++,
which, amongst other things, launches the Windows Media Player, with an
argument. The argument is the name of the file that the player should
open and play.
I use CreateProcess to launch the player:
CreateProcess(TEXT("\\windows\\wmplayer.exe"), TEXT("\"\\windows\\Unit1
Video.wmv\""), NULL, NULL, FALSE,0, NULL, NULL, NULL, &pi))
There is a space in the filename (in between "Unit1" and "Video.wmv"),
and I cannot avoid that. Actually, the example above is contrived, as
the space is actually in the directory name of the directory on a
Storage Card, but the result is the same.
If I use the above CreateProcess line, on Pocket PCs with WMP 9, the
WMP launches, but doesn't play the file. In fact, it just says
"buffering", and stays stuck there.
On WMP 10, the WMP launches, and the video file begins playing. No
problem.
Now, if I change the CreateProcess line to:
CreateProcess(TEXT("\\windows\\wmplayer.exe"), TEXT("\\windows\\Unit1
Video.wmv"), NULL, NULL, FALSE,0, NULL, NULL, NULL, &pi))
Then, WMP 9 has no problem launching and playing the video file,
whereas WMP 10 comes up with an error message that it cannot play the
file, or file format not supported.
I cannot figure out what to do to get it to work in both versions of
WMP. If I could detect the version of WMP, I can quote or not quote.
I have scanned through the registries of WMP 9 and 10, but could not
find any clsid entry for WMP9 on a Dell Axim, and in a WMP 10, the
version says 1.0?? Any ideas what I could do?
Thanks
Roy Thomas