2013-03-25 35 views
3

使用Microsoft.Win32.RegistryKey(或任何相關類別),如何查詢註冊表項的上次寫入時間?RegistryKey上次寫入時間

+2

你不能。 Windows不會跟蹤個別密鑰的「時間修改」。 – paulsm4 2013-03-25 17:27:30

+0

@ paulsm4你不能用RegQueryInfoKey WinAPI函數嗎?我試圖看看是否有一些原生的.NET方法來實現這一點。 – Josh 2013-03-25 17:29:38

+1

@ paulsm4這是不正確的。創建時間不存儲,但上次修改時間是。 – 2013-03-25 17:30:23

回答

8

您將需要使用P/Invoke來使對Win32 API的調用:從pinvoke.net

MSDN: RegQueryInfoKey function

簽名:

[DllImport("advapi32.dll", EntryPoint="RegQueryInfoKey", CallingConvention=CallingConvention.Winapi, SetLastError=true)] 
extern private static int RegQueryInfoKey(
    UIntPtr hkey, 
    out StringBuilder lpClass, 
    ref uint lpcbClass, 
    IntPtr lpReserved, 
    out uint lpcSubKeys, 
    out uint lpcbMaxSubKeyLen, 
    out uint lpcbMaxClassLen, 
    out uint lpcValues, 
    out uint lpcbMaxValueNameLen, 
    out uint lpcbMaxValueLen, 
    out uint lpcbSecurityDescriptor, 
    IntPtr lpftLastWriteTime); 
相關問題