找回密码
 加入
搜索
查看: 5273|回复: 17

WMI获取启动项问题

  [复制链接]
发表于 2009-11-16 17:32:06 | 显示全部楼层 |阅读模式
怎么过滤掉重复的和@startuodir下的desktop.ini
$strComputer = "localhost"
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$startup= $objWMIService.ExecQuery("SELECT * FROM Win32_StartupCommand", "WQL")
   For $objItem In $startup
MsgBox(0,"",$objItem.Caption & @CRLF&$objItem.Command)
   Next
 楼主| 发表于 2009-11-16 23:18:50 | 显示全部楼层
怎么没人???等了一晚上了
发表于 2009-11-17 01:02:26 | 显示全部楼层
#include <Array.au3>
Dim $a[1], $i = 0
$objWMIService = ObjGet("winmgmts:\\.\root\CIMV2")
$startup = $objWMIService.ExecQuery("SELECT * FROM Win32_StartupCommand", "WQL")
For $objItem In $startup
        If $objItem.Caption = 'desktop' Then ContinueLoop
        ReDim $a[$i + 1]
        $a[$i] = $objItem.Caption & '|' & $objItem.Command
        $i += 1
Next
$n = _ArrayUnique($a)
If $n <> 0 Then _ArrayDisplay($n, '启动项信息')

评分

参与人数 1金钱 +10 贡献 +10 收起 理由
水木子 + 10 + 10 还是那样厉害!

查看全部评分

发表于 2009-11-17 08:43:49 | 显示全部楼层
还是前辈厉害,我写的是这样的。
郁闷的是不能获取到360安全卫士和其他一些驱动程序的相关启动。
#include <GuiListView.au3>
#include <GuiImageList.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ListViewConstants.au3>

$Form1 = GUICreate("启动项管理", 320, 350)
$ListView1 = GUICtrlCreateListView("名称 |位置 ", 10, 10, 300, 320,-1, BitOR($WS_EX_CLIENTEDGE,$LVS_EX_FULLROWSELECT,$LVS_REPORT))
$hImage = _GUIImageList_Create(1, 20)
_GUICtrlListView_SetImageList($ListView1, $hImage, 1)
_GUICtrlListView_SetColumnWidth($ListView1, 0, 80)
_GUICtrlListView_SetColumnWidth($ListView1, 1, 200)
GUISetState(@SW_SHOW)
Read()

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd

Func Read()
        $z = 0
        _GUICtrlListView_DeleteAllItems($ListView1)
        For $i = 1 To 10
                $var = RegEnumVal('HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run',$i)
                If Not @error Then 
                        GUICtrlCreateListViewItem($var,$ListView1)
                        $a = RegRead('HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run',$var)
                        _GUICtrlListView_AddSubItem($ListView1, $z, $a, 1, $z+1)
                EndIf        
                $z += 1
        Next
EndFunc

评分

参与人数 1金钱 +10 贡献 +10 收起 理由
afan + 10 + 10

查看全部评分

发表于 2009-11-17 09:16:51 | 显示全部楼层
回复 3# afan

哇!前辈都升“论坛元老”啦! 恭喜、恭喜啊!
发表于 2009-11-17 09:55:39 | 显示全部楼层
回复 5# 水木子


    还不是托管理员的福,呵呵~
发表于 2009-11-17 09:58:16 | 显示全部楼层
回复 6# afan
呵呵!我那代码就没必要加分啦!太普通了。
你上面的代码看得我一头雾水,正在找WMI的相关资料学习呢!
前辈抽空指点指点我们吧!
发表于 2009-11-17 10:01:41 | 显示全部楼层
回复 7# 水木子


    我那也只是修改LZ提供的代码,WMI我也仅弄过一两回(什么显示器信息之类的),现在都没时间学啊~
发表于 2009-11-17 10:04:57 | 显示全部楼层
回复 8# afan
我觉得修改他人的代码比自己造还难!
主要是不了解别人的思路,你能修改说明你很弓虽啦!

我看着简直像看天书一样。
发表于 2009-11-17 10:36:22 | 显示全部楼层
回复 9# 水木子


    也就刚好懂那么点~ 呵呵
发表于 2009-11-17 11:33:47 | 显示全部楼层
回复  水木子


    还不是托管理员的福,呵呵~
afan 发表于 2009-11-17 09:55


怎么是托我的福,你不怪我没给你加精华就好了
发表于 2009-11-17 11:43:24 | 显示全部楼层
回复 11# kn007

你不是发帖“请假”吗?咋还是天天都在?不准备看书啦!
发表于 2009-11-17 11:45:27 | 显示全部楼层
回复 12# 水木子


    饿,读书和休息是要结合的,我现在作文老写不好,在看作文选呢,。。
发表于 2009-11-17 11:52:16 | 显示全部楼层
回复 13# kn007
呵呵!小伙子加油吧!再有几年就熬出头啦!

PS:自从我参加工作以后,感觉真的很爽,不需要回家写作业,不需要天天看那些“天书”
经常看到路上读书的小朋友还笑他们,“哈哈!还不跑快点,小心迟到哦!”

我们严重跑题啦!就此打住吧! 加油。。。祝你早日脱离“苦海”
发表于 2009-11-17 11:53:37 | 显示全部楼层
脱离苦海还要很久呢
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-27 03:17 , Processed in 0.090760 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表