A.exe和B.exe
A.exe不能通过双击或者别的方式主动打开,只能通过B.exe调用才能打开
B中
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&pi, sizeof(pi));
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
TCHAR szApp[MAX_PATH];
_tcscpy(szApp, Path);//Path为地址
TCHAR szCommandLine[MAX_PATH] = { TEXT("123456") };//传递给A的命令行参数值
BOOL working = CreateProcess(szApp, szCommandLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
if (working)
{
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}
else
{
AfxMessageBox(_T("创建失败!"));
HANDLE hProcess = GetCurrentProcess();
TerminateProcess(hProcess, 0);
}
A中:
LPCTSTR lpszCommandLine = GetCommandLine();
if(NULL == _tcsstr(lpszCommandLine, TEXT("123456"))
{
exit(0);
}
本文详细解析了如何使用B.exe调用A.exe的进程,通过具体代码示例,展示了如何设置启动信息、传递命令行参数,并在A.exe中接收这些参数。深入探讨了CreateProcess函数的使用及错误处理。
4039

被折叠的 条评论
为什么被折叠?



