主頁(yè) > 知識(shí)庫(kù) > 如何使用vb 監(jiān)控電腦活動(dòng)記錄

如何使用vb 監(jiān)控電腦活動(dòng)記錄

熱門標(biāo)簽:除了地圖標(biāo)注還有這種生意嗎 佛山真人電銷機(jī)器人廠家 神行者美術(shù)館地圖標(biāo)注 地圖標(biāo)注政府哪個(gè)部門管 哪里有便宜的地圖標(biāo)注公司 東營(yíng)快遞外呼系統(tǒng) 如何用機(jī)器人進(jìn)行電銷 百度地圖標(biāo)注點(diǎn)距離代碼 齊齊哈爾高德地圖標(biāo)注店

最近看到了一個(gè)日文版的監(jiān)控電腦活動(dòng)記錄的軟件,又在win 32 APi中看到了GetForegroundWindow函數(shù),于是決定動(dòng)動(dòng)小手用vb寫個(gè)監(jiān)控電腦活動(dòng)記錄的小程序。

主要函數(shù)

函數(shù)名 參數(shù) 返回值
GetForegroundWindow(void) 無(wú) 當(dāng)前窗口的句柄
GetWindowText(HWND hWnd,LPTSTR lpString,Int nMaxCount) hWnd:窗口句柄
lpString:接收窗口標(biāo)題文本的緩沖區(qū)的指針
nMaxCount:指定緩沖區(qū)中的最大字符數(shù)
如果成功則返回標(biāo)題字符串的字符個(gè)數(shù)。如果窗口無(wú)標(biāo)題欄或文本,或標(biāo)題欄為空,或窗口或控制的句柄無(wú)效,則返回值為零。

實(shí)現(xiàn)

循環(huán)獲取當(dāng)前焦點(diǎn)所在窗口的標(biāo)題,然后寫入到日志文件中。最后設(shè)置開(kāi)啟自啟動(dòng),隱藏命令行窗口。

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
	 ' 保存標(biāo)題文本
  Dim stext As String
	 ' 保存上一個(gè)窗口句柄
	 Dim hwnd As Long
	 ' 保存當(dāng)前窗口句柄
	 Dim curHwnd As Long
	 ' 書(shū)寫流寫入日志文件
	 Dim sw As StreamWriter
	 ' 日志文件保存路徑
	 Dim path As String = "c:\log.txt"
	 
	 ' 如果存在日志文件則跳過(guò),否則創(chuàng)建一個(gè)日志文件
	 If Not File.Exists(path) Then
		 File.Create(path)
	 End If
	 
	 sleep(3000)
	 
	 ' 這里是個(gè)死循環(huán) 
	 While bt
	 
	  stext = Space(255)
		 ' 獲取當(dāng)前窗口句柄
		 hwnd = GetForegroundWindow
		 
		 ' 如果當(dāng)前是新窗口則寫入新窗口標(biāo)題
		 If hwnd > curHwnd Then 
		  curHwnd = hwnd
				' 獲取窗口標(biāo)題
				GetWindowText(hwnd,stext,255)
				
				sw = System.IO.File.AppendText(path)
				
				' 寫入新窗口標(biāo)題,格式 yyyy年mm月dd日 hh:hh:ss + 標(biāo)題
				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

開(kāi)啟自啟動(dòng)

新建一個(gè)listener.vbs文件(其中C:\listener.exe是vb編譯后的文件路徑,Run參數(shù)0表示隱藏命令行窗口):

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

1. 運(yùn)行 -> shell:startup

2. 開(kāi)始菜單 -> 程序 -> 啟動(dòng)

3. 運(yùn)行 -> gpedit.msc

4. 啟動(dòng) -> 開(kāi)機(jī)中添加listener.vbs腳本

運(yùn)行

重啟電腦后我們可以再任務(wù)管理器中看到運(yùn)行的腳本

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

需要關(guān)閉結(jié)束進(jìn)程即可

以上就是如何使用vb 監(jiān)控電腦活動(dòng)記錄的詳細(xì)內(nèi)容,更多關(guān)于vb 監(jiān)控電腦活動(dòng)記錄的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • vbs定期監(jiān)控 值個(gè)班,定期瞄一下
  • 磁盤IO利用率監(jiān)控VBS腳本(windows)
  • VBScript 監(jiān)控并結(jié)束指定進(jìn)程的代碼
  • VBScript 監(jiān)控磁盤更改事件實(shí)現(xiàn)代碼
  • VBS監(jiān)控CPU的使用率(如占用率一直維持在80%超過(guò)30秒則運(yùn)行某程序)
  • 網(wǎng)絡(luò)接口利用率監(jiān)控VBS腳本代碼(Windows)
  • 進(jìn)程監(jiān)控實(shí)現(xiàn)代碼[vbs+bat]
  • 用VBS調(diào)用程序并對(duì)程序的運(yùn)行情況進(jìn)行監(jiān)控的兩個(gè)代碼

標(biāo)簽:四平 邢臺(tái) 銅川 文山 湖州 鶴壁 西安

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何使用vb 監(jiān)控電腦活動(dòng)記錄》,本文關(guān)鍵詞  如何,使用,監(jiān)控,電腦,活動(dòng),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何使用vb 監(jiān)控電腦活動(dòng)記錄》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于如何使用vb 監(jiān)控電腦活動(dòng)記錄的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章

    上一篇:如何用VBS腳本收集遠(yuǎn)程計(jì)算機(jī)或本地計(jì)算機(jī)安裝的軟件

    下一篇:VBA中的Timer函數(shù)用法