2013-04-05 83 views

回答

5

Windows的istallation時間這將讓安裝之日起,我不知道,你可以得到時間

string registry_key = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"; 
using(Microsoft.Win32.RegistryKey key = Registry.LocalMachine.OpenSubKey(registry_key)) 
{ 
    foreach(string subkey_name in key.GetSubKeyNames()) 
    { 
     using(RegistryKey subkey = key.OpenSubKey(subkey_name)) 
     { 
      Console.WriteLine(subkey.GetValue("DisplayName")); 
      Console.WriteLine(subkey.GetValue("InstallDate")); 
     } 
    } 
} 

,您可以使用所有這些領域

registry entries

更多信息請參考this答案。

您可以通過使用Windows Installer API獲得時間! 要使用的功能是MsiGetProductInfo和屬性名稱是INSTALLPROPERTY_INSTALLDATE但WMI重量級。

這裏是該物業由here

INSTALLPROPERTY_INSTALLDATE採取更多的信息:上一次該產品獲得的服務。每次應用產品補丁或從產品中刪除補丁時都會替換此屬性的值,或者使用/ v命令行選項修復產品。如果產品未收到修理或修補程序,則此屬性包含此產品在此計算機上的安裝時間。

實施例:

[DllImport("msi.dll", CharSet=CharSet.Unicode)] 
static extern Int32 MsiGetProductInfo(string product, string property, [Out] StringBuilder valueBuf, ref Int32 len); 

Int32 len = 512; 
System.Text.StringBuilder builder = new System.Text.StringBuilder(len); 
MsiGetProductInfo("{4B3334CE-06D9-4446-BBC5-EB4C9D75BFF6}", "INSTALLPROPERTY_INSTALLDATE", builder , ref len); 
1

你必須在註冊表中找到它。

這就是爲什麼它不是約.NETWinAPI

例如:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate 

顯示你在幾秒鐘內,因爲01.01.1970

相關問題