gpt4 book ai didi

c# - 使用 shellExecute 运行 c# 控制台应用程序

转载 作者:行者123 更新时间:2023-11-28 07:48:36 25 4
gpt4 key购买 nike

<分区>

我有 c# 控制台应用程序(Net framework 4.5,visual studio 2010 express)。我可以使用 cmd 运行这个应用程序,它的工作正常。但是出于一些非常重要的原因,我需要从其他用 C++ 编写的应用程序运行这个应用程序。我尝试使用 ShellExecute、CreateProcess、WinExec 运行 c# 应用程序。它总是崩溃,并且不在我之前使用 cmd 启动它的同一台机器上运行。还有什么方法可以启动这个 c# 应用程序吗?或者我需要用一些特殊的方式编译/组装这个 c# 应用程序吗?更新示例:

方法一

SHELLEXECUTEINFO ShExecInfo = {0};  
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = NULL;
ShExecInfo.lpFile = "C:\\PATH\\To\\THE\\APP.exe";
ShExecInfo.lpParameters = szParameters;
ShExecInfo.lpDirectory = NULL;
ShExecInfoFlash.hInstApp = NULL;
ShellExecuteEx(&ShExecInfoFlash);
WaitForSingleObject(ShExecInfoFlash.hProcess,INFINITE);

方法二

PROCESS_INFORMATION pi; 
char bff[512];
memset(&si,0,sizeof(si));
si.cb=sizeof(si);
if(!CreateProcess(NULL,szParameters,NULL,NULL,0,0,NULL,NULL,&si,&pi))
{ return TS_METHOD_ABORTED;}
WaitForSingleObject(pi.hProcess,INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);

它总是以同样的方式崩溃。它告诉我发生了一些意想不到的事情,并建议我向 MS 发送报告。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com