<code id="6mcsu"></code>
<li id="6mcsu"></li>
<li id="6mcsu"><dl id="6mcsu"></dl></li>
  • <code id="6mcsu"><tr id="6mcsu"></tr></code>
    或者

    vbs枚舉進程 vbs列出進程的詳細列表

    作者:徐小樣 瀏覽:239 發布時間:2018-03-22
    分享 評論 0

    今天要說的是用VBS(VBScript腳本)來枚舉Windows操作系統的進程,這樣做的用處在什么地方呢?舉個例子吧,比如你有時候想監控某個進程是否在運行,這就非常有用了.

    示例:

    用VBS腳本枚舉進程

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    'enum.vbs

    Dim WMI,Objs,Process

    Set WMI=GetObject("WinMgmts:")

    Set Objs=WMI.InstancesOf("Win32_Process")

    Process=""

    For Each Obj In Objs

      Process=Process & Obj.Description & Chr(13) & Chr(10)

    Next

    MsgBox Process

    我在這兒采用的方式是彈出一個對話框,方便觀看嘛,當然你也可以使用FSO來生成一個文本文件保存起來.
    前面說到要監控某個進程是否在運行,實現如下.
    示例:

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    'monitor.vbs

    '檢測IE是否在運行中

    Dim WMI,Objs,Process

    Set WMI=GetObject("WinMgmts:")

    Set Objs=WMI.InstancesOf("Win32_Process")

    Process=""

    For Each Obj In Objs

    'Process=Process & Obj.Description & Chr(13) & Chr(10)

    Process = Obj.Description

    if Process = "iexplore.exe" then

    msgbox "IE在運行中..."

    end if

    Next

    呵呵,當然,還可以引申出來其它應用.

    下面給大家分享一個列舉進程詳細列表的vbs

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    62

    63

    64

    65

    66

    67

    68

    69

    70

    71

    72

    73

    74

    75

    76

    77

    78

    79

    80

    81

    82

    83

    84

    85

    86

    87

    88

    89

    90

    91

    92

    93

    94

    95

    96

    97

    98

    99

    100

    101

    102

    103

    104

    105

    ' FileName: ProcessMagnifier.vbs

    ' Function: Capture information about the running processes in detail

    ' code by somebody

    ' QQ: 240460440

    ' LastModified: 2007-12-9 18:50

     

    const HKEY_CURRENT_USER = &H80000001

    Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")

    strKeyPath = "Console\%SystemRoot%_system32_cmd.exe"

    oReg.CreateKey HKEY_CURRENT_USER,strKeyPath

    strValueName1 = "CodePage"

    dwValue1 = 936

    strValueName2 = "ScreenBufferSize"

    dwValue2 = 98304200

    strValueName3 = "WindowSize"

    dwValue3 = 2818173

    strValueName4 = "HistoryNoDup"

    dwValue4 = 0

    strValueName5 = "WindowPosition"

    dwValue5 = 131068

    strValueName6 = "QuickEdit"

    dwValue6 = 2048

    oReg.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName1,dwValue1

    oReg.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName2,dwValue2

    oReg.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName3,dwValue3

    oReg.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName4,dwValue4

    oReg.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName5,dwValue5

    oReg.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName6,dwValue6

     

    Dim objWSH, FinalPath

    Set objWSH = WScript.CreateObject("WScript.Shell")

    If (Lcase(Right(WScript.Fullname,11))="wscript.exe") Then

      FinalPath = "'" & WScript.ScriptFullName & "'"

      objWSH.Run("cmd.exe /k cscript //nologo " &Replace(FinalPath,"'",""""))

      WScript.Quit

    End If

     

    oReg.DeleteKey HKEY_CURRENT_USER, strKeyPath

    Set oReg = nothing

     

    Wscript.Sleep 1000

    Mystr = Array(115,111,109,101,98,111,100,121)

    for i=0 to Ubound(Mystr)

      author=author&chr(Mystr(i))

     

    Next

     

    WScript.Echo

    WScript.Sleep 3000

    WScript.Echo "當前正在運行的進程簡要信息列表如下:"

    WScript.Echo vbCrLf

    WScript.Sleep 2000

     

    Dim MyOBJProcessName

    Set OBJWMIProcess = GetObject("winmgmts:\\.\root\cimv2").ExecQuery("Select * From Win32_Process")

         WScript.Echo "Name:        Priority:  PID:  Owner:" &vbTab&vbTab&"ExecutablePath: "

         WScript.Echo "---------------------------------------------------------------------------------------"

             For Each OBJProcess in OBJWMIProcess

         MyOBJProcessName=OBJProcess.Name&"          "

             colProperties = OBJProcess.GetOwner(strNameOfUser,strUserDomain)

         WScript.Echo Mid(MyOBJProcessName,1,20) &vbTab& OBJProcess.Priority &vbTab& OBJProcess.ProcessID &vbTab& strNameOfUser &vbTab&vbTab& OBJProcess.ExecutablePath

         Next

         

    WScript.Sleep 5000

    WScript.Echo vbCrLf

    WScript.Echo "當前正在運行的進程以及其加載的模塊詳細信息樹狀結構如下:"

    WScript.Echo vbCrLf

    WScript.Sleep 3000

    WScript.Echo vbTab&vbTab&vbTab&vbTab&vbTab&vbTab&vbTab&vbTab&vbTab&vbTab&vbTab&vbTab&vbTab&vbTab&vbTab&vbTab& vbTab&"創建時間       文件制造商"

     

    Set OBJWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")

    Set OBJRefresher = CreateObject("WbemScripting.SWbemRefresher")

    Set colItems = OBJRefresher.AddEnum(OBJWMIService,"Win32_PerfFormattedData_PerfProc_FullImage_Costly").ObjectSet

    OBJRefresher.Refresh

    For Each OBJItem In colItems

      Dim originalPath, ModulePath, WMIPathMode, FileManufacturer, LCaseModulePath

        Dim FileExtension, mark, MyLCaseModulePath, FinalModulePath

      originalPath = OBJItem.Name

      ModulePath = Split(originalPath,"/")

      WMIPathMode = Replace(ModulePath(1),"\","\\")

      Set OBJWMI = GetObject("winmgmts:\\.\root\CIMV2")

      Set colManufacturer = OBJWMI.ExecQuery("SELECT * FROM CIM_DataFile Where Name='" & WMIPathMode & "'")

      For Each OBJManufacturer In colManufacturer

          FileManufacturer=Trim(OBJManufacturer.Manufacturer)

          LCaseModulePath=LCase(Trim(OBJManufacturer.Name))

          FileExtension=Right(LCaseModulePath, 3)

          MyLCaseModulePath=LCaseModulePath & "                                                        "

          Set FSO = CreateObject("Scripting.FileSystemObject").GetFile(LCaseModulePath)

                   If FileExtension="exe" Then

                mark="├—"

                  FinalModulePath=Mid(MyLCaseModulePath,1,118)

                  WScript.Echo "│"               

              Else

            mark="│├─"

                  FinalModulePath=Mid(MyLCaseModulePath,1,116)

              End If

          WScript.Echo mark & FinalModulePath & FSO.DateCreated &vbTab& FileManufacturer            

        Next

    Next

     

    MyVBSPath = "'" & WScript.ScriptFullName & "'"   

    Myclipboard = "cscript //nologo " & Replace(MyVBSPath,"'","""")

    Set objIE = CreateObject("InternetExplorer.Application")

    objIE.Navigate("about:blank")

    objIE.document.parentwindow.clipboardData.SetData "text", Myclipboard

    經過測試效果很不錯,喜歡vbs的朋友可以學習一下。


    精品爆乳一区二区三区无码av| 亚洲中文字幕无码久久2017| 欧美巨大xxxx做受中文字幕| 永久免费av无码入口国语片| 中文字幕专区高清在线观看| 日韩精品专区AV无码| √天堂中文www官网在线| 国产高清无码二区| 曰批全过程免费视频在线观看无码| 高清无码中文字幕在线观看视频| 中文精品一卡2卡3卡4卡| 国精无码欧精品亚洲一区| 精品国产aⅴ无码一区二区| 超清无码无卡中文字幕| 亚洲日韩精品无码专区网站| 亚洲AV无码精品色午夜果冻不卡 | 亚洲精品一级无码中文字幕 | 日韩AV无码久久一区二区| 国产中文字幕在线视频| 无码国模国产在线无码精品国产自在久国产 | 中文字幕高清在线| 亚洲AV无码一区二区三区在线观看| 亚洲AV无码精品色午夜果冻不卡| 亚洲欧美日韩在线不卡中文| 中文字幕精品亚洲无线码一区| 国产精品无码素人福利不卡| 精品国产a∨无码一区二区三区| 久久精品aⅴ无码中文字字幕不卡| 亚洲AV无码一区二区二三区入口 | 亚洲精品欧美二区三区中文字幕| 夜夜精品无码一区二区三区| 亚洲精品无码专区在线播放| 亚洲成?v人片天堂网无码| 青春草无码精品视频在线观| 91精品国产综合久久四虎久久无码一级| 精品无码AV一区二区三区不卡 | 92午夜少妇极品福利无码电影| 免费看又黄又无码的网站| 无码AV波多野结衣久久| 国产三级无码内射在线看| 久久久久亚洲av无码专区喷水|