脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - VBS - 如何使用vbs 监控电脑活动记录

如何使用vbs 监控电脑活动记录

2021-11-13 10:57可爱的黑精灵 VBS

这篇文章主要介绍了如何使用vbs 监控电脑活动记录,帮助大家更好的理解和学习使用vbs,感兴趣的朋友可以了解下

最近看到了一个日文版的监控电脑活动记录的软件,又在win 32 APi中看到了GetForegroundWindow函数,于是决定动动小手用vbs写个监控电脑活动记录的小程序。

主要函数

函数名 参数 返回值
GetForegroundWindow(void) 当前窗口的句柄
GetWindowText(HWND hWnd,LPTSTR lpString,Int nMaxCount) hWnd:窗口句柄
lpString:接收窗口标题文本的缓冲区的指针
nMaxCount:指定缓冲区中的最大字符数
如果成功则返回标题字符串的字符个数。如果窗口无标题栏或文本,或标题栏为空,或窗口或控制的句柄无效,则返回值为零。

实现

循环获取当前焦点所在窗口的标题,然后写入到日志文件中。最后设置开启自启动,隐藏命令行窗口。

?
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
Imports System
Imports System.io
 
Module Module1
 private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
 'Win32 Api
 Private Declare Function GetForegroundWindow Lib "user32" () As Long
 Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
 
 Sub Main()
     
  Dim bt As Boolean = True
     ' 保存标题文本
  Dim stext As String
     ' 保存上一个窗口句柄
     Dim hwnd As Long
     ' 保存当前窗口句柄
     Dim curHwnd As Long
     ' 书写流写入日志文件
     Dim sw As StreamWriter
     ' 日志文件保存路径
     Dim path As String = "c:\log.txt"
     
     ' 如果存在日志文件则跳过,否则创建一个日志文件
     If Not File.Exists(path) Then
         File.Create(path)
     End If
     
     sleep(3000)
     
     ' 这里是个死循环
     While bt
     
      stext = Space(255)
         ' 获取当前窗口句柄
         hwnd = GetForegroundWindow
         
         ' 如果当前是新窗口则写入新窗口标题
         If hwnd <> curHwnd Then
          curHwnd = hwnd
                ' 获取窗口标题
                GetWindowText(hwnd,stext,255)
                
                sw = System.IO.File.AppendText(path)
                
                ' 写入新窗口标题,格式 yyyy年mm月dd日 hh:hh:ss + 标题
                Using sw
                    sw.WriteLine(String.Format("{0:F}", DateTime.Now) +" "+ stext)
                    sw.Flush()
                End Using
                
        
         End If
   sleep(2000)
         
  End While
     
 End Sub
End Module

开启自启动

新建一个listener.vbs文件(其中C:\listener.exe是vb编译后的文件路径,Run参数0表示隐藏命令行窗口):

?
1
2
3
Dim ws
set ws = WScript.createObject("WScript.shell")
ws.Run "C:\listener.exe", 0, TRUE

1. 运行 -> shell:startup

如何使用vbs 监控电脑活动记录

2. 开始菜单 -> 程序 -> 启动

如何使用vbs 监控电脑活动记录

3. 运行 -> gpedit.msc

如何使用vbs 监控电脑活动记录

4. 启动 -> 开机中添加listener.vbs脚本

如何使用vbs 监控电脑活动记录

运行

重启电脑后我们可以再任务管理器中看到运行的脚本

如何使用vbs 监控电脑活动记录

然后查看日志文件C:\log.txt

如何使用vbs 监控电脑活动记录

需要关闭结束进程即可

以上就是如何使用vbs 监控电脑活动记录的详细内容,更多关于vbs 监控电脑活动记录的资料请关注服务器之家其它相关文章!

原文链接:https://www.cnblogs.com/chenjy1225/p/13255953.html

延伸 · 阅读

精彩推荐
  • VBS雷客图ASP站长安全助手vbs测试版代码

    雷客图ASP站长安全助手vbs测试版代码

    雷客图ASP站长安全助手是一个基于ASP的帮助站长维护网站安全的程序。这个版本(vbs测试版)主要用于服务器本地运行以查找ASP木马。此版本为测试版,希...

    脚本之家2312020-07-03
  • VBSVBS教程:正则表达式简介 -正则表达式语法

    VBS教程:正则表达式简介 -正则表达式语法

    正则表达式语法 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的...

    VBS教程网3302019-11-25
  • VBSVBS编程教程 (第1篇)

    VBS编程教程 (第1篇)

    VBScript的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版). 正如其字面所透露的信息, VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言....

    VBS教程网4812020-07-15
  • VBSAdsutil.vbs 在脚本攻击中的妙用[我非我原创]

    Adsutil.vbs 在脚本攻击中的妙用[我非我原创]

    adsutil.vbs是什么?相信用过IIS的网管员不会不知道。这是IIS自带的提供于命令行下管理IIS的一个脚本。位于%SystemDrive%\Inetpub\AdminScripts目录下。...

    VBS教程网2312020-07-07
  • VBSWINDOWS脚本实践:为SAP补丁制作的VBS脚本代码

    WINDOWS脚本实践:为SAP补丁制作的VBS脚本代码

    本文主要分享WINDOWS脚本实践:为SAP补丁制作的VBS脚本代码,有需要的童鞋可以参考下...

    脚本之家3232020-07-06
  • VBSVBS文本文件操作实现代码

    VBS文本文件操作实现代码

    这篇文章主要介绍了VBS文本文件操作实现代码,需要的朋友可以参考下...

    VBS代码网8912020-08-12
  • VBSVBS数组深入浅出

    VBS数组深入浅出

    VBS数组在应用中没有像其他语句那么广泛,VBS数组存在不少功能上的局限性(如二维数组的定义、赋值),在使用上也没有java等语言那么便捷...

    VBS教程网2962020-08-18
  • VBS灵活实用VBS入门教程应用篇

    灵活实用VBS入门教程应用篇

    上一篇文章我们了解了VBS编程的一些基础知识,要更深入地学习还要学习选择结构和循环结构。 ...

    VBS教程网5742020-07-01