如何使用vb 監(jiān)控電腦活動(dòng)記錄
最近看到了一個(gè)日文版的監(jiān)控電腦活動(dòng)記錄的軟件,又在win 32 APi中看到了GetForegroundWindow函數(shù),于是決定動(dòng)動(dòng)小手用vb寫(xiě)個(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)題,然后寫(xiě)入到日志文件中。最后設(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ū)寫(xiě)流寫(xiě)入日志文件 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)前是新窗口則寫(xiě)入新窗口標(biāo)題 If hwnd <> curHwnd Then curHwnd = hwnd ' 獲取窗口標(biāo)題 GetWindowText(hwnd,stext,255) sw = System.IO.File.AppendText(path) ' 寫(xiě)入新窗口標(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)文章!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。