请教:
   如何用java读取本机上所打的windows补丁信息??
请知道的告诉我,谢谢,我QQ512692962

解决方案 »

  1.   

    分成2步解决这个问题
    1、了解window补丁信息如何在本机中存储?
        我们知道window补丁信息再注册表中存储的,具体说一下4个目录与windows更新有关:
        HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates 
        HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix 
        HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache
        HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 
       粗粗一看就知道第二个是存放补丁消息的,最后一个是补丁卸载信息的,具体的自己google一下吧,我也是菜鸟2、如何使用Java读取注册表信息?
        Java提供了读取注册表信息的类:java.util.prefs.Preferences
       但是据我所知,这个类似乎只能读取写入JavaSoft根下的内容,我是菜鸟,不知道有没有高人会直接读取注册表任意的内容。
        所以只好换个方法了,就是手工导出注册表文件,导出的注册表文件为*.reg文件,它是一个文本文件,
        搜索[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix ]
        下的内容,到下一个[....]结束为止。
       
        哎这个方法似乎可能对你没有用,我不知道怎么用Java导出注册表文件,如果需要人收到导出注册表文件还不如自己去看呢
        
        你自己看着办吧
         
      

  2.   

    好向 你找下 关于WMI的
      

  3.   

    java有一些系统属性,不知道能不能用到,比如说System.getProperty("os.name")就能获得操作系统得名字,有很多。有你需要的信息,看http://blog.csdn.net/neusoftware_20063500/archive/2009/02/10/3875482.aspx
      

  4.   

    呵呵,先谢谢各位的解答了,这个答案我已经解决了,给大家分享下:
    首先,先找到补丁所在的位置,就是在注册表的“HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows NT\\CurrentVersion\\HotFix”下面。然后,就是利用操作注册表,把里面的补丁信息读出来,正如楼上说的java.util.prefs.Preferences这个类不能准确读取。
    我使用的是JNI,在JNI中,有一个不错的开源的项目:registry最后就是利用registry,里面有个registryKey.regEnumKey(args)   注意:这里的args是各个补丁所在的位置