如何获取本机已经安装了的软件的列表!!!或者介绍一款相关的软件也行啊!

解决方案 »

  1.   

    注册表中列出Localmachine\software下的所有键值
      

  2.   

    http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpref/html/frlrfMicrosoftWin32RegistryClassLocalMachineTopic.asp
    http://www.yourblog.org/Data/20045/69792.html
      

  3.   

    http://www.pconline.com.cn/pcedu/empolder/net/0412/508782.html
    http://www.webuc.net/chinahuman/archive/2004/06/02/904.aspxhttp://www.microsoft.com/china/community/program/OriginalArticles/articlelist.mspx
      

  4.   

    static void PrintKeys(RegistryKey rkey) 
    {
    // Retrieve all the subkeys for the specified key.
    String [] names = rkey.GetSubKeyNames(); // Print the contents of the array to the console.
    foreach (String s in names) 
    {
    Console.WriteLine(s);
    }
    }static void Main()
    {
    RegistryKey rk = Registry.LocalMachine.OpenSubKey("SOFTWARE"); PrintKeys(rk);
    }
      

  5.   

    走题了,我要的不是怎样读注册表。
    我要的是怎样得到所有已经安装的软件的列表。
    fancyf的方法可能得到一些信息,但可不可以扫描到软件的名称、版本、大小,就像windows的“更改/删除程序”里列出的一样。
      

  6.   

    给你一个建议用regmon.exe监测注册表,打开添加删除你就找到了注册表中的位置了
      

  7.   

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\注册的卸载程序
      

  8.   

    static void PrintKeys(RegistryKey rkey) 
    {
    // Retrieve all the subkeys for the specified key.
    String [] names = rkey.GetSubKeyNames(); // Print the contents of the array to the console.
    foreach (String s in names) 
    {
    Console.WriteLine(s);
    }
    }static void Main()
    {
    RegistryKey rk = Registry.LocalMachine.OpenSubKey("SOFTWARE"); PrintKeys(rk);
    }