gpt4 book ai didi

c++ - 传递的参数在 C++ 中不完整

转载 作者:搜寻专家 更新时间:2023-10-31 01:43:47 25 4
gpt4 key购买 nike

我只是想使用 CreateProcess 将参数传递给另一个应用程序。当我在目的地得到参数时,它不完整,只传递了一部分。我得到的输出是 "1\\Documentation\\U3DElements.pdf"

这是传递参数的代码。(这是 C++ 代码)

STARTUPINFO si;     
PROCESS_INFORMATION pi;

// set the size of the structures
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
LPTSTR cmdArgs = "C:\\Users\\vignesh.d\\Downloads\\sdk110_v1_win\\Adobe\\Acrobat XI SDK\\Version1\\Documentation\\U3DElements.pdf";
// start the program up
if (CreateProcess(
TEXT("C:\\Users\\vignesh.d\\Documents\\Visual Studio 2012\\Projects\\AdobePlugin\\AdobePlugin\\bin\\Debug\\AdobePlugin.exe"),
cmdArgs,NULL,NULL,FALSE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
&si,
&pi))
{
WaitForSingleObject(pi.hProcess, INFINITE);
}
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );

这是我显示它的代码。(AdobePlugin.exe 这是一个 VB 代码)

Private Sub App_Startup(ByVal sender As Object, ByVal e As StartupEventArgs)
MsgBox(e.Args(2))
End Sub

我希望 MsgBox 显示完整代码“C:\Users\vignesh.d\Downloads\sdk110_v1_win\Adobe\Acrobat XI SDK\Version1\Documentation\U3DElements.pdf”

最佳答案

参数/参数以空格字符分隔。

MsgBox(e.Args(1))

会给出你论点的前半部分。

如果你想传递包含空格的东西作为一个参数,你需要把它放在引号里,就像这样:

LPTSTR cmdArgs = "\"C:\\Users\\vignesh.d\\Downloads\\sdk110_v1_win\\Adobe\\Acrobat XI SDK\\Version1\\Documentation\\U3DElements.pdf\"";

无论参数是否包含空格,都可以用引号引起来。

关于c++ - 传递的参数在 C++ 中不完整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24552717/

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