0
我想從C#通過的ShellExecuteEx執行的notepad.exe()。但記事本不啓動。我在Windows 10 64位操作系統中運行代碼。這有什麼區別嗎?什麼是解決方案。的ShellExecuteEx()在Windows 10的64位操作系統
下面是我寫
SHELLEXECUTEINFO SEI = SHELLEXECUTEINFO.CreateInstance();
SEI.cbSize = Marshal.SizeOf(SEI);
SEI.fMask = SEE_MASK_NOCLOSEPROCESS | SEE_MASK_FLAG_NO_UI
| SEE_MASK_NOASYNC | SEE_MASK_INVOKEIDLIST;
SEI.hWnd = 0;
SEI.lpVerb = "open";
SEI.lpFile = sbResult.ToString(); //StringBuilder notepad.exe path
SEI.lpParameters = sDocName; // txt file path
SEI.lpDirectory = "";
SEI.nShow = SW_SHOWNORMAL;
SEI.hInstApp = 0;
SEI.lpIDList = 0;
lReturnedCode = ShellExecuteEx(ref SEI);
WaitForSingleObject(SEI.hProcess, INFINITE);
很難說因缺少代碼而出現了什麼問題。請[麥克韋]。 –
如果你只是想打開一個TXT文件,你應該提供只是TXT文件名'的ShellExecute/EX()',讓它揣摩出用戶的默認文本編輯器位於以及如何運行它:'SEI.lpFile = sDocName; SEI.lpParameters =「」;'不要盲目地調用'WaitForSingleObject()',只有在'ShellExecute/Ex()'返回成功時才調用它。 –
ShellExecuteEx返回什麼? – Anders