这期内容当中小编将会给大家带来有关使用vb怎么监控电脑的活动记录,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
主要函数
函数名 | 参数 | 返回值 |
---|
GetForegroundWindow(void) | 无 | 当前窗口的句柄 |
GetWindowText(HWND hWnd,LPTSTR lpString,Int nMaxCount) | hWnd:窗口句柄 lpString:接收窗口标题文本的缓冲区的指针 nMaxCount:指定缓冲区中的最大字符数 | 如果成功则返回标题字符串的字符个数。如果窗口无标题栏或文本,或标题栏为空,或窗口或控制的句柄无效,则返回值为零。 |
实现
循环获取当前焦点所在窗口的标题,然后写入到日志文件中。最后设置开启自启动,隐藏命令行窗口。
ImportsSystem
ImportsSystem.io
ModuleModule1
privateDeclareSubSleepLib"kernel32"Alias"Sleep"(ByValdwMillisecondsAsLong)
'Win32Api
PrivateDeclareFunctionGetForegroundWindowLib"user32"()AsLong
PrivateDeclareFunctionGetWindowTextLib"user32"Alias"GetWindowTextA"(ByValhwndAsLong,ByVallpStringAsString,ByValcchAsLong)AsLong
SubMain()
DimbtAsBoolean=True
'保存标题文本
DimstextAsString
'保存上一个窗口句柄
DimhwndAsLong
'保存当前窗口句柄
DimcurHwndAsLong
'书写流写入日志文件
DimswAsStreamWriter
'日志文件保存路径
DimpathAsString="c:\log.txt"
'如果存在日志文件则跳过,否则创建一个日志文件
IfNotFile.Exists(path)Then
File.Create(path)
EndIf
sleep(3000)
'这里是个死循环
Whilebt
stext=Space(255)
'获取当前窗口句柄
hwnd=GetForegroundWindow
'如果当前是新窗口则写入新窗口标题
Ifhwnd<>curHwndThen
curHwnd=hwnd
'获取窗口标题
GetWindowText(hwnd,stext,255)
sw=System.IO.File.AppendText(path)
'写入新窗口标题,格式yyyy年mm月dd日hh:hh:ss+标题
Usingsw
sw.WriteLine(String.Format("{0:F}",DateTime.Now)+""+stext)
sw.Flush()
EndUsing
EndIf
sleep(2000)
EndWhile
EndSub
EndModule
开启自启动
新建一个listener.vbs文件(其中C:\listener.exe是vb编译后的文件路径,Run参数0表示隐藏命令行窗口):
Dimws
setws=WScript.createObject("WScript.shell")
ws.Run"C:\listener.exe",0,TRUE
1. 运行 -> shell:startup
2. 开始菜单 -> 程序 -> 启动
3. 运行 -> gpedit.msc
4. 启动 -> 开机中添加listener.vbs脚本
运行
重启电脑后我们可以再任务管理器中看到运行的脚本
然后查看日志文件C:\log.txt
上述就是小编为大家分享的使用vb怎么监控电脑的活动记录了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注恰卡编程网行业资讯频道。