首页 > 其他分享 >如何使用vb 监控电脑活动记录

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

时间:2024-04-16 18:23:07浏览次数:65  
标签:Dim vb 窗口 句柄 电脑 Long 监控 hwnd End

                        <div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">主要函数</a></li><li><a href="#_label1">实现

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

    主要函数

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

    实现

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

    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 &lt;&gt; 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表示隐藏命令行窗口):

    Dim ws 
    set ws = 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 监控电脑活动记录的详细内容,更多关于vb 监控电脑活动记录的资料请关注创业项目排行榜前十名http://www.piaodoo.com/其它相关文章!

                            友情连接: 
    

    创业项目排行榜前十名

    美文集

    茂名一技

    茂名一技

    手游排行前十名

    标签:Dim,vb,窗口,句柄,电脑,Long,监控,hwnd,End
    From: https://www.cnblogs.com/python1314520/p/18138895

    相关文章

    • vbs实现web自动登录网站的方法
      <divid="navCategory"><h5class="catalogue">目录</h5><ulclass="first_class_ul"><li><ahref="#_label0">一,编写vbs</a></li><li><ahref="......
    • VBScript编写Windows防止锁屏脚本程序
      <divid="navCategory"><h5class="catalogue">目录</h5><ulclass="first_class_ul"><li><ahref="#_label0">背景介绍</a></li><li><ahref="#_......
    • VBS 批量Ping的项目实现
      <p>本文用vb编写的ping程序实现,具体如下:</p>'判断当前VBS脚本是否由CScript执行IfInStr(LCase(WScript.FullName),"cscript.exe")=0Then???'若不是由CScript执行,则使用CScript重新执行当前脚本???SetobjShell=CreateObject("Shell.Appl......
    • 教你用vbs实现微信自动发送消息功能
      <divid="navCategory"><h5class="catalogue">目录</h5><ulclass="first_class_ul"><li><ahref="#_label0">前言</a></li><li><ahref="#_la......
    • 抖音很火的vbs表白代码(简单实用!)
      <p>好玩的循环表白代码</p>1,右键->新建文本文件2,右键->编辑3,粘贴下面代码MsgBox"十年相遇"MsgBox"百年回眸"MsgBox"千年同船渡"MsgBox"我愿以万年的等待"MsgBox"......
    • 使用vbs脚本来监控windows服务器上的应用程序(不存在就启动)
      <p>这个vbs代码主要实现的功能就是运行该程序,就会在进程中出现一个wscript.exe它会每隔10s扫面一次进程中是否存在notepad.exe这个程序,不存在就启动。这个启动程序可能跟进程名不一样,好比tomcat应用,启动的是startup.bat,后台进程名为java.exe,这样就需要......
    • 视频汇聚/安防视频监控云平台EasyCVR云端录像播放与下载的接口调用方法
      视频汇聚/安防视频监控云平台EasyCVR支持多协议接入、可分发多格式的视频流,平台支持高清视频的接入、管理、共享,支持7*24小时不间断监控。视频监控管理平台EasyCVR可提供实时远程视频监控、录像、回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云......
    • 【触想智能】如何选购到一款合适的工业电脑一体机
      工业电脑一体机是专为工业环境而设计的一种工业计算机。工业电脑一体机和普通的计算机不一样,它对产品的参数性能要求很高,因为它们通常会运行在高低温、电磁干扰、高粉尘、湿度大的恶劣环境中,所以相应的要求工业电脑一体机必须具备良好的宽温宽压、抗电磁干扰、防尘防水、抗震......
    • 在Linux中,如何使用文件系统监控工具?
      在Linux中,iostat和vmstat是两个重要的系统监控工具,它们用于分析系统的性能和资源使用情况,特别是在文件系统和内存管理方面。1.iostatiostat是Linux系统性能监控工具,它可以报告CPU统计信息和所有块设备的I/O统计数据,帮助识别I/O性能问题。基本使用:查看所有设备的I/O统计信息......
    • 在Linux中,如何监控网络服务的状态和性能?
      在Linux中,监控网络服务的状态和性能是确保系统稳定运行和高效服务的关键步骤。下面将详细介绍一些常用的监控方法和工具。一、使用系统内置工具netstat:netstat是一个强大的网络统计工具,可以显示网络连接、路由表、接口统计等。使用netstat-tuln可以查看所有监听的TCP/UD......