如何从 C 内部打开外部 EXE 文件?我正在尝试编写一个打开记事本和其他一些应用程序的 C 程序,但我被卡住了。感谢您忍受我的 C 菜鸟水平;p
问问题
2744 次
2 回答
2
请尝试system("notepad");
打开记事本可执行文件。请注意,可执行文件的路径应该是PATH
变量的一部分,或者需要将完整路径提供给system
调用。
于 2013-02-10T03:33:35.650 回答
0
CreateProcess 或 ShellExecute 是 Windows 启动另一个进程的方式。你需要#include 来查看它们的定义
#include <windows.h>
int main()
{
STARTUPINFOW siStartupInfo;
PROCESS_INFORMATION piProcessInfo;
memset(&siStartupInfo, 0, sizeof(siStartupInfo));
memset(&piProcessInfo, 0, sizeof(piProcessInfo));
siStartupInfo.cb = sizeof(siStartupInfo);
if (CreateProcessW(L"C:\\Windows\\system32\\notepad.exe"),
NULL, NULL, NULL, FALSE,
0, NULL, NULL,
&siStartupInfo, &piProcessInfo))
{
/* This line waits for the process to finish. */
/* You can omit it to keep going whilst the other process runs */
dwExitCode = WaitForSingleObject(piProcessInfo.hProcess, (SecondsToWait * 1000));
}
else
{
/* CreateProcess failed */
iReturnVal = GetLastError();
}
return 0;
}
于 2013-02-10T04:11:27.360 回答