我有以下问题。我正在使用DLL为PocketPC 2002上的今日项目列表添加一个新菜单项。我已经在Windows Mobile 6.5.3上测试了写入的DLL,并在那里工作。
在PocketPC上,路径包含一个空格,我猜我没有逃脱该字符串。请考虑出现问题的以下代码段:
char commandline[100];
strcpy(commandline, "\\SDMMC Disk\\Test\\Test.exe");
STARTUPINFO si = { sizeof(si) };
int len;
int slength = (int)strlen(commandline) + 1;
len = MultiByteToWideChar(CP_ACP, 0, commandline, slength, 0, 0);
wchar_t* buf = new wchar_t[len];
MultiByteToWideChar(CP_ACP, 0, commandline, slength, buf, len);
PROCESS_INFORMATION pinfo;
::CreateProcess(buf, buf, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pinfo);
现在我试图像这样逃避可执行文件的路径:
strcpy(commandline, "\"\\SDMMC Disk\\Test\\Test.exe"");
但不幸的是,这不起作用。我是否以错误的方式逃脱了弦乐?
感谢您的帮助,谢谢。