3 回答

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個贊
當(dāng)您嘗試訪問該MainModule屬性時,將引發(fā)異常。該屬性的文檔未列出Win32Exception可能的例外,但是查看該屬性的IL顯然可以發(fā)現(xiàn),訪問它可能會引發(fā)此異常。通常,如果您嘗試執(zhí)行操作系統(tǒng)中不可能或不允許的操作,它將拋出此異常。
Win32Exception具有該屬性,NativeErrorCode并且還Message可以解釋問題所在。您應(yīng)該使用該信息來解決問題。NativeErrorCode是Win32錯誤代碼。我們可以整日猜測問題出在哪里,但是真正解決這個問題的唯一方法是檢查錯誤代碼。
但是要繼續(xù)猜測,這些異常的來源之一是從32位進(jìn)程訪問64位進(jìn)程。這樣做會引發(fā)Win32Exception以下消息:
32位進(jìn)程無法訪問64位進(jìn)程的模塊。
您可以通過評估獲得過程的位數(shù)Environment.Is64BitProcess。
即使以64位進(jìn)程運(yùn)行,也永遠(yuǎn)不允許您訪問MainModule進(jìn)程4(系統(tǒng))或進(jìn)程0(系統(tǒng)空閑進(jìn)程)。這將引發(fā)Win32Exception以下消息:
無法枚舉過程模塊。
如果您遇到的問題是要在任務(wù)管理器中創(chuàng)建類似于進(jìn)程列表的進(jìn)程列表,則必須以特殊方式處理進(jìn)程0和4,并給它們指定特定的名稱(就像任務(wù)管理器一樣)。請注意,在Windows的舊版本上,系統(tǒng)進(jìn)程的ID為8。
- 3 回答
- 0 關(guān)注
- 2502 瀏覽
添加回答
舉報