我编写了一个简单的启动器,它查找实际程序然后执行它。这工作正常,但有一个问题:Windows 显示“带有沙漏的指针”光标大约几秒钟。如果我直接启动该程序,则不会发生这种情况。
我尝试设置sinfo.dwFlags = STARTF_FORCEOFFFEEDBACK
,但这没有帮助。我想那是因为我的程序需要以某种方式禁用光标,而我启动的程序做得很好(它创建了一个适当的窗口等)。
这是我的应用程序中的相关代码。我没有任何线程或任何其他花哨的东西(程序的唯一目的是启动另一个程序并将退出代码传递给它的调用者,以防它关心它):
STARTUPINFO sinfo = {0};
PROCESS_INFORMATION pinfo = {0};
if (!CreateProcess(program, buf, NULL, NULL, FALSE, 0, NULL, NULL, &sinfo, &pinfo)) {
Fail("Could not launch Vim");
}
if (WaitForSingleObject(pinfo.hProcess, INFINITE) == WAIT_FAILED) {
Fail("WaitForSingleObject");
}