簡體   English   中英

如何查找更改的注冊表值?

[英]How to find what registry values changed?

我正在嘗試查找對注冊表進行了哪些更改或啟動了哪些進程。 例如:如果我更改Windows-explorer的視圖以顯示隱藏的文件和文件夾 - 我想查看哪個注冊表項已更改。

有人建議使用進程監視器,但a)注冊表訪問太多,而b)我找不到對注冊表的任何更改。 (雖然我記得讀過它是對注冊表的一個改變,控制着它)

我這樣做是因為我希望我的程序做同樣的事情。

C#中的答案沒問題。

是的,哇,這可能會變得非常棘手,因為注冊表可能很大。 在過去,我會導出注冊表的一個分支,比如HKEY_LOCAL_MACHINE \\ SOFTWARE \\ InnaTech,然后運行一些我懷疑在該分支中編輯內容的程序,然后再將其導出到另一個文件。 如果分支不是很大,那么我可以用它來區分差異,否則我會使用正常的差異程序ala WinDiff來查找任何更改。

RegNotifyChangeKeyValue()是您需要調用的系統函數。 我從來沒有見過任何人試圖從C#中使用它,但是到達它應該不需要比調用任何其他非托管代碼更麻煩。 基本上,你調用它,它在第一次更改后返回,再次調用它並等待下一個chande。

http://msdn.microsoft.com/en-us/library/windows/desktop/ms724892%28v=vs.85%29.aspx

對它的使用有相當好的描述。

http://www.mydigitallife.info/trick-to-enable-show-hidden-files-and-folders-in-windows/

轉到“開始”菜單,然后單擊“運行”(Windows Vista和Windows 7使用“開始搜索”)。 鍵入RegEdit並按Enter鍵以運行注冊表編輯器。 導航到以下注冊表項:

HKEY_LOCAL_MACHINE \\ SOFTWARE \\ Microsoft \\ Windows \\ CurrentVersion \\ Explorer \\ Advanced \\ Folder \\ Hidden \\ SHOWALL

在右窗格中,驗證CheckedValue值數據是否為REG_DWORD類型。 如果不是(例如屬於REG_SZ),則刪除CheckedValue值數據。 如果已刪除CheckedValue,則創建一個新的DWORD(32位)值並將其命名為CheckedValue。 雙擊CheckedValue並將其值數據更改為1(病毒可能將其更改為0或2)。 在同一注冊表項中,驗證Type值數據是否為REG_SZ類型,並且值為data radio。 如果沒有,請將其設置為無線電。 病毒可能會將其更改為空白。 將系統設置為顯示或顯示所有隱藏文件,文件夾和驅動器,然后檢查是否顯示隱藏文件和文件夾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM