在我的應用程序中,有一個界面,用戶可以根據文件關聯選擇任何文件並在其默認應用程序中打開。無法使用PhotoViewer.dll執行CreateProcess
我正在使用FindExecutable和CreateProcessAsUser與資源管理器令牌。
現在問題出在圖片文件的情況下說.jpg,FindExecutable返回「C:\ Program Files \ Windows Photo Gallery \ PhotoViewer.dll」,然後CreateProcessAsUser返回「ERROR_BAD_EXE_FORMAT(193)%1不是有效的Win32應用程序「。我傳遞NULL作爲CreateProcessAsUser的第二個參數,在lpCommandLine中發送可執行文件路徑(例如:CreateProcessAsUser(hToken,NULL,szCmdline,...))。
任何人都可以幫助我解決這個問題嗎?
問候, 馬諾
我的應用程序正在作爲web服務運行。因此ShellExecuteEx不會確保新應用程序總是在前臺打開。 – Manoj 2009-12-02 14:49:51
您可能會成功嘗試「RUNDLL」。不過,我想指出的是,從Web服務運行桌面應用程序確實是一個糟糕的主意。 Web服務是客戶端通信的內容。 – 2009-12-02 15:04:37
沒有桌面,所以它不會工作。 – bmargulies 2009-12-02 15:06:29