第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在C#中訪問Process.MainModule.FileName時如何避免Win32異常?

在C#中訪問Process.MainModule.FileName時如何避免Win32異常?

HUH函數(shù) 2019-11-18 13:07:24
我開始了一個新項(xiàng)目,列出了所有正在運(yùn)行的進(jìn)程的完整路徑。訪問某些進(jìn)程時,程序崩潰并拋出Win32Exception。描述說列出過程模塊時發(fā)生錯誤。最初,我認(rèn)為可能會出現(xiàn)此問題,因?yàn)槲艺?4位平臺上運(yùn)行它,因此我針對x86和AnyCPU類型的CPU重新編譯了它。我遇到了同樣的錯誤。Process p = Process.GetProcessById(2011);string s = proc_by_id.MainModule.FileName;錯誤發(fā)生在第2行??瞻鬃侄物@示發(fā)生錯誤的進(jìn)程: 屏幕截圖有什么辦法可以解決此錯誤消息?
查看完整描述

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。


查看完整回答
反對 回復(fù) 2019-11-18
  • 3 回答
  • 0 關(guān)注
  • 2502 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號