我有一个 C++ 应用程序,可以选择在 XP 上作为 Windows 服务运行并与桌面交互(是的,我知道这是不好的做法,但它已经存在了很长时间!)
我发现对它进行改造的 html 帮助在HtmlHelp()
服务中不起作用。我试过使用 hh.exe 运行CreateProcess()
,ShellExecute()
但没有成功。另一方面,运行Write usingCreateProcess
工作正常,所以hh.exe 肯定有一些不同。再多的谷歌搜索也没有发现任何线索。如何从服务中启动 chm 文件?
PROCESS_INFORMATION ProcInfo;
STARTUPINFO si;
memset(&si, '\0', sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
//si.lpDesktop = "winsta0\\default"; // <-- doesn't make any difference
char *helpcmd = "hh.exe c:\\help\myhelpfile.chm";
BOOL bSuccess = ::CreateProcess(NULL, helpcmd, NULL, NULL, FALSE, 0, NULL, NULL, &si, &ProcInfo);