如題用vb寫程式要如何知道我的電腦上的資料有沒有被複製走有人會說電腦鎖住就好啦!是沒錯啦!但是還是想知道一下有哪些方法可知道資料有沒有被複製走呢?用vb又要如何寫呢?請各位大大幫個忙 謝謝!
2006-10-26 13:12:03 · 3 個解答 · 發問者 Nick 5 in 電腦與網際網路 ➔ 程式設計
剪貼簿要如何清除資料呢?
因為複製過一次之後 , 再開啟程式他會紀錄第一次複製的時間 , 不會紀錄最後的時間 , 所以我想清除剪貼簿 , 這樣可行嗎?
2006-10-31 04:15:38 · update #1
'監測剪貼簿的方式,表單置1個Timer及1個ListBox,合併之前跟你說的2種方式,或許能達到更多的功效'此法對於按滑鼠右鍵>拖曳到目標>複製到此 的方式無效,因為此法並沒把資料複製於剪貼簿中'在要監測的檔案按滑鼠右鍵>複製,List1會記錄複製的時間Private Declare Function OpenClipboard& Lib "user32" (ByVal H&)Private Declare Sub CloseClipboard Lib "user32" ()Private Declare Function GetClipboardData& Lib "user32" (ByVal F&)Private Declare Function IsClipboardFormatAvailable& Lib "user32" (ByVal F&)Private Declare Function DragQueryFile& Lib "shell32.dll" Alias "DragQueryFileA" (ByVal H&, ByVal U&, ByVal S$, ByVal C&) Const CF_HDROP = 15Dim P$, B As BooleanPrivate Sub Form_Load() P = "C:\Test.exe" '要監測的檔案 Timer1.Interval = 100: Timer1 = TrueEnd SubPrivate Sub Timer1_Timer() Dim D&, F&, I&, S$, N%, C As Boolean If IsClipboardFormatAvailable(CF_HDROP) Then If OpenClipboard(0&) Then D = GetClipboardData(CF_HDROP) F = DragQueryFile(D, -1, "", 0) S = Space(260) For I = 0 To F - 1 DragQueryFile D, I, S, 260 N = InStr(S, Chr(0)) If N = 0 Then S = Trim(S) ElseIf N = 1 Then S = "" Else S = Left(S, N - 1) End If If S = P Then C = True If B = False Then List1.AddItem Now & "被複製": B = True End If Next CloseClipboard End If End If B = CEnd Sub
2006-10-31 17:43:17 補充:
清除剪貼簿:Clipboard.Clear
2006-10-30 15:44:09 · answer #1 · answered by W.J.S. 7 · 0⤊ 0⤋
寶咖咖 CHRIS-BKK 這樣的建議好像沒什幫助! 哈哈....
2006-10-28 15:34:42 · answer #2 · answered by Nick 5 · 0⤊ 0⤋
這部份需要動到 Win API 的部份囉!
API 有辦法幫您做出來
程式複雜度高2000字無法完全表達..
2006-10-26 20:32:14 · answer #3 · answered by ChrisToda 2 · 0⤊ 0⤋