2
我只是試圖使用CreateProcess
將參數傳遞給另一個應用程序。 當我在目的地獲得參數時,它不完整隻有一部分被傳遞。我正的輸出是"1\\Documentation\\U3DElements.pdf"
傳遞的參數在C++中不完整
這該傳遞參數的代碼。(這是一個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:\用戶\ vignesh.d \下載\ sdk110_v1_win \的Adobe \ Acrobat中XI SDK \版本1 \文檔\ U3DElement s.pdf「
什麼是空間轉義序列... –
我不知道我是否理解你的問題。但據我所知,沒有空間的逃生順序。你爲什麼需要這個? – dummy
發送路徑時,如果路徑有空格,則路徑被分成兩個參數。這就是我問的原因。它不是一個問題,現在我已經通過替換一個明確的代碼來替換空格,並將其替換爲%20,並在接收應用程序中對其進行加密並將其解密,以獲取完整路徑... –