日期:2014-05-16  浏览次数:20508 次

通过JS获取系统win32软件,插入到数据库中
首先是获取WIN32程序的方法
HTML code

    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1" http-equiv="Content-Type" charset="utf-8" />
        <title>系统调查</title>
        <link rel="stylesheet" href="css/jquery.mobile-1.1.1.min.css" />
        <link rel="stylesheet" href="css/custom.css" />
        <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
        
        
        <script type="text/javascript" src="js/function.js"></script>
        <script type="text/javascript" src="js/custom.js"></script>
        <script type="text/javascript">
        </script>
        <script type="text/javascript" src="js/jquery.mobile-1.1.1.min.js"></script>
    </head>

<body>
        <form action="form.php" method="post">
                <!--还有一些是硬件信息的不是循环输出,所以不列出-->
        <ul id="softlist" data-role="listview" data-inset="true" data-theme="c" data-divider-theme="b">
                <li data-role="list-divider">软件信息</li>
                </ul>
                 </form>




获取软件信息的方式
function.js
JScript code
function GetSoft(){
        var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
        var service = locator.ConnectServer(".");
        var properties = service.ExecQuery("Select * from Win32_Product");
        var e = new Enumerator (properties);
        var softlist="";
        var i = 0;
        for (;!e.atEnd();e.moveNext ()){
            var p = e.item();            
            softlist = softlist + "<li><input type ='text' id='soft" + i + "' name='soft" + i + "' value='" + p.Name +"'></li>";
            i = i + 1;
        }
        softlist = softlist + "<li><h3>软件计数:</h3><input type ='text' id='softcunt' value='" + i +"'></li>";
        return softlist;
}


通过jquery将值传给页面
custom.js
JScript code
    $("#softlist").append(GetSoft());




我是将硬件信息和软件信息分别放到同一个数据库中的两个表。
这样获取的软件信息就会是很多条记录soft1,soft2,数据表好像也不太好弄,
我设想的数据库是软件信息的表里建立三个字段,一个softwarename软件名称,一个count字段进行软件和的统计,一个是findex字段用于建立与硬件信息表的关联,这样好实现吗?JS应该如何更改?

如果保持现在JS的状态,那数据表应该如何建立?
谢谢


------解决方案--------------------
JS 是客户端脚本。有权限限制!
------解决方案--------------------
ActiveXObject 只能在IE里面实现,其他浏览器是没用的,js的权限还是很小的,虽然HTML5能操作文件系统,不过那也只是沙盘中的。还有一个办法就是LZ自己写浏览器的插件来实现这功能。
------解决方案--------------------
数据库我也不懂,没用过多少,还是等大神吧。
探讨

引用:

ActiveXObject 只能在IE里面实现,其他浏览器是没用的,js的权限还是很小的,虽然HTML5能操作文件系统,不过那也只是沙盘中的。还有一个办法就是LZ自己写浏览器的插件来实现这功能。


目前只考虑IE情况,这个已经能获取到软件信息了
主要想问一下,像这样获取出来的都是name="soft1" name="soft2"..
for (;!e……

------解决方案--------------------
你用js 发送 ajax到服务器端,让服务端代码记录到服务器上的数据库里吧