3 回答

TA貢獻1735條經(jīng)驗 獲得超5個贊
如果從內(nèi)存中運行.NET可執(zhí)行文件,則庫和CLR本身會為您帶來很多負擔(dān)。對于諸如notepad.exe和calc.exe之類的本機可執(zhí)行文件,您必須進行大量手動工作才能使其實現(xiàn)。基本上,您必須像Windows加載程序一樣工作。
這里可能有一些警告說明,但是這篇深入的文章提供了將PE Wiki,msdn加載到內(nèi)存中并執(zhí)行正確的變基和修復(fù)所需的步驟。然后,您應(yīng)該能夠找到入口點(如本文中所述)并運行它。
如果您真的只想運行notepad.exe和calc.exe,那么最簡單的方法當(dāng)然就是在Process.Start磁盤上使用和運行它們。否則,如果您將可執(zhí)行文件作為資源嵌入到您的進程中,那么下一個最簡單的方法就是將內(nèi)容寫到臨時位置的磁盤(請參閱參考資料Path.GetTempFileName),然后從那里執(zhí)行。

TA貢獻1827條經(jīng)驗 獲得超8個贊
如果您正在尋找使用C#運行Exe文件的方法,則此鏈接提供了一個很好的解釋,并提供了一個簡單但易于遵循的示例,說明如何使用Process和Process.Start應(yīng)如何使用。
簡而言之,您可以
Process.Start("notepad.exe")
運行非托管的exe /應(yīng)用程序。
如果這樣不起作用,請?zhí)峁?yīng)用程序的完整路徑,例如
Process.Start(@"c:\windows\system32\notepad.exe")
(我只是假設(shè)notepad.exe該文件夾中存在該文件夾,但您知道了。
- 3 回答
- 0 關(guān)注
- 1435 瀏覽
添加回答
舉報