激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 易語言 - 易語言調用API函數監視目錄與文件的代碼

易語言調用API函數監視目錄與文件的代碼

2022-02-22 15:52易語言源碼貝貝吧 易語言

今天小編就為大家分享一篇關于易語言調用API函數監視目錄與文件的代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

DLL命令表

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
.版本 2
.DLL命令 GetPrivateProfileInt, 整數型, , "GetPrivateProfileIntA"
  .參數 lpAppName, 文本型
  .參數 lpKeyName, 文本型
  .參數 nDefault, 整數型
  .參數 lpFileName, 文本型
.DLL命令 GetPrivateProfileString, 整數型, , "GetPrivateProfileStringA"
  .參數 lpAppName, 文本型
  .參數 lpKeyName, 文本型
  .參數 lpDefault, 文本型
  .參數 lpReturnedString, 文本型, 傳址
  .參數 nSize, 整數型
  .參數 lpFileName, 文本型
.DLL命令 TerminateThread, 整數型, , "TerminateThread"
  .參數 hThread, 整數型
  .參數 dwExitCode, 整數型
.DLL命令 CloseHandle, 整數型, , "CloseHandle"
  .參數 Object, 整數型
.DLL命令 PostMessage, 整數型, , "PostMessageA"
  .參數 hWnd, 整數型
  .參數 Msg, 整數型
  .參數 wParam, 整數型
  .參數 lParam, 整數型
.DLL命令 RegisterHotKey, 整數型, , "RegisterHotKey"
  .參數 hWnd, 整數型
  .參數 id, 整數型
  .參數 fsModifiers, 整數型
  .參數 vk, 整數型
.DLL命令 CreateThread, 整數型, , "CreateThread"
  .參數 SecurityAttributes, 整數型
  .參數 StackSize, 整數型
  .參數 StartFunction, 整數型
  .參數 ThreadParameter, 整數型
  .參數 CreationFlags, 整數型
  .參數 ThreadId, 整數型, 傳址
.DLL命令 WideCharToMultiByte1, 整數型, "kernel32.dll", "WideCharToMultiByte"
  .參數 CodePage, 整數型, , CodePage
  .參數 dwFlags, 整數型, , dwFlags
  .參數 lpWideCharStr, 字節集, , lpWideCharStr
  .參數 cchWideChar, 整數型, , cchWideChar
  .參數 lpMultiByteStr, 整數型, , lpMultiByteStr
  .參數 cchMultiByte, 整數型, , cchMultiByte
  .參數 lpDefaultChar, 整數型, , lpDefaultChar
  .參數 lpUsedDefaultChar, 邏輯型, , lpUsedDefaultChar
.DLL命令 WideCharToMultiByte, , "kernel32.dll", "WideCharToMultiByte"
  .參數 CodePage, 整數型, , CodePage
  .參數 dwFlags, 整數型, , dwFlags
  .參數 lpWideCharStr, 字節集, , lpWideCharStr
  .參數 cchWideChar, 整數型, , cchWideChar
  .參數 lpMultiByteStr, 字節集, , lpMultiByteStr
  .參數 cchMultiByte, 整數型, , cchMultiByte
  .參數 lpDefaultChar, 整數型, , lpDefaultChar
  .參數 lpUsedDefaultChar, 邏輯型, , lpUsedDefaultChar
.DLL命令 CreateFile, 整數型, , "CreateFileA"
  .參數 lpFileName, 文本型
  .參數 dwDesiredAccess, 整數型
  .參數 dwShareMode, 整數型
  .參數 lpSecurityAttributes, 整數型
  .參數 dwCreationDisposition, 整數型
  .參數 dwFlagsAndAttributes, 整數型
  .參數 hTemplateFile, 整數型
.DLL命令 ReadDirectoryChangesW, 邏輯型, , "ReadDirectoryChangesW"
  .參數 hDirectory, 整數型
  .參數 lpbuff, _FILE_NOTIFY_INFORMATION, 傳址
  .參數 nBufferLength, 整數型
  .參數 bWatchSubtree, 邏輯型
  .參數 dwNotifyFilter, 整數型
  .參數 lpBytesReturned, 整數型, 傳址
  .參數 lpOverlapped, OVERLAPPED, 傳址
  .參數 lpCompletionRoutine, 整數型
.DLL命令 WritePrivateProfileString, 整數型, , "WritePrivateProfileStringA"
  .參數 lpAppName, 文本型
  .參數 lpKeyName, 文本型
  .參數 lpString, 文本型
  .參數 lpFileName, 文本型

自定義數據類型表

?
1
2
3
4
5
6
7
8
9
10
11
12
.版本 2
.數據類型 OVERLAPPED
  .成員 ternal, 整數型
  .成員 ternalHigh, 整數型
  .成員 低32位, 整數型
  .成員 高32位, 整數型
  .成員 事件句柄, 整數型
.數據類型 _FILE_NOTIFY_INFORMATION
  .成員 NextEntryOffset, 整數型
  .成員 Action, 整數型
  .成員 FileNameLength, 整數型
  .成員 FileName, 字節型, , "1024"

常量數據表

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
.版本 2
.常量 WM_SYSCOMMAND, "274"
.常量 SC_MINIMIZE, "61472"
.常量 MOD_ALT, "1"
.常量 GENERIC_READ, "-2147483648"
.常量 GENERIC_WRITE, "1073741824"
.常量 FILE_SHARE_READ, "1"
.常量 FILE_SHARE_WRITE, "2"
.常量 FILE_SHARE_DELETE, "4"
.常量 FILE_FLAG_BACKUP_SEMANTICS, "33554432"
.常量 OPEN_EXISTING, "3"
.常量 FILE_NOTIFY_CHANGE_FILE_NAME, "1"
.常量 FILE_NOTIFY_CHANGE_DIR_NAME, "2"
.常量 FILE_NOTIFY_CHANGE_ATTRIBUTES, "4"
.常量 FILE_NOTIFY_CHANGE_SIZE, "8"
.常量 FILE_NOTIFY_CHANGE_LAST_WRITE, "16"
.常量 FILE_NOTIFY_CHANGE_LAST_ACCESS, "32"
.常量 FILE_NOTIFY_CHANGE_CREATION, "64"
.常量 FILE_NOTIFY_CHANGE_SECURITY, "256"
.常量 FILE_ACTION_ADDED, "1"
.常量 FILE_ACTION_REMOVED, "2"
.常量 FILE_ACTION_RENAMED_NEW_NAME, "5"
.常量 FILE_ACTION_RENAMED_OLD_NAME, "4"
.常量 FILE_ACTION_MODIFIED, "3"

監視目錄與文件的代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
.版本 2
.支持庫 iext
.支持庫 shell
.程序集 窗口程序集1
.程序集變量 m_bAddNew0, 整數型
.程序集變量 m_bDel0, 整數型
.程序集變量 m_bRename, 整數型
.程序集變量 m_bModify0, 整數型
.程序集變量 m_bOther0, 整數型
.程序集變量 m_strWatchedDir, 文本型
.程序集變量 m_hThread, 整數型
.程序集變量 hDir, 整數型
.程序集變量 m_bAlwaysOnTop, 整數型
.程序集變量 m_bAutoRun, 整數型
.程序集變量 m_bMinimized, 整數型
.程序集變量 m_bAutoStart, 整數型
.程序集變量 m_i, 整數型
.程序集變量 m_OVERLAPPED, OVERLAPPED
.子程序 __啟動窗口_創建完畢
m_bAlwaysOnTop = GetPrivateProfileInt (“Settings”, “AlwaysOnTop”, 0, “.\\Settings.ini”)
m_bAutoRun = GetPrivateProfileInt (“Settings”, “AutoRun”, 0, “.\\Settings.ini”)
m_bMinimized = GetPrivateProfileInt (“Settings”, “Minimized”, 0, “.\\Settings.ini”)
m_bAutoStart = GetPrivateProfileInt (“Settings”, “AutoStart”, 0, “.\\Settings.ini”)
m_bAddNew0 = GetPrivateProfileInt (“Selections”, “m_bAddNew”, 0, “.\\Settings.ini”)
m_bDel0 = GetPrivateProfileInt (“Selections”, “m_bDel”, 0, “.\\Settings.ini”)
m_bRename = GetPrivateProfileInt (“Selections”, “m_bRename”, 0, “.\\Settings.ini”)
m_bModify0 = GetPrivateProfileInt (“Selections”, “m_bModify”, 0, “.\\Settings.ini”)
m_bOther0 = GetPrivateProfileInt (“Selections”, “m_bOther”, 0, “.\\Settings.ini”)
m_strWatchedDir = 取空白文本 (260)
GetPrivateProfileString (“Settings”, “監視目錄”, “”, m_strWatchedDir, 260, “.\\Settings.ini”)
m_hThread = 0
hDir = -1
.如果真 (m_bAlwaysOnTop = 1)
  OnBtnAlwaysOnTop ()
.如果真結束
.如果真 (m_bMinimized = 1)
  PostMessage (取窗口句柄 (), #WM_SYSCOMMAND, #SC_MINIMIZE, 0)
.如果真結束
.如果真 (m_bAutoStart = 1)
  OnStart ()
.如果真結束
RegisterHotKey (取窗口句柄 (), 199, #MOD_ALT, #Z鍵)
IDC_STATE.標題 = “你選擇的監視目錄為:” + m_strWatchedDir
.子程序 __啟動窗口_將被銷毀
.如果真 (m_hThread ≠ 0)
  TerminateThread (m_hThread, 0)
  m_hThread = 0
.如果真結束
.如果真 (hDir ≠ -1)
  CloseHandle (hDir)
  hDir = -1
.如果真結束
.子程序 ThreadProc, 整數型
.參數 lparam, 整數型
.局部變量 pNotify, _FILE_NOTIFY_INFORMATION
.局部變量 dwBytesReturned, 整數型
.局部變量 str1, 文本型
.局部變量 temp, 字節集
hDir = CreateFile (m_strWatchedDir, 位或 (#GENERIC_READ, #GENERIC_WRITE), 位或 (#FILE_SHARE_READ, #FILE_SHARE_WRITE, #FILE_SHARE_DELETE), 0, #OPEN_EXISTING, #FILE_FLAG_BACKUP_SEMANTICS, 0)
.如果真 (hDir = -1)
  返回 (0)
.如果真結束
.判斷循環首 (真)
  .如果 (ReadDirectoryChangesW (hDir, pNotify, 1024, 真, 位或 (#FILE_NOTIFY_CHANGE_FILE_NAME, #FILE_NOTIFY_CHANGE_DIR_NAME, #FILE_NOTIFY_CHANGE_ATTRIBUTES, #FILE_NOTIFY_CHANGE_SIZE, #FILE_NOTIFY_CHANGE_LAST_WRITE, #FILE_NOTIFY_CHANGE_LAST_ACCESS, #FILE_NOTIFY_CHANGE_CREATION, #FILE_NOTIFY_CHANGE_SECURITY), dwBytesReturned, m_OVERLAPPED, 0))
    .如果 (pNotify.NextEntryOffset ≠ 0)
      temp = 字節數組轉字節集 (pNotify.FileName)
    .否則
      temp = 字節數組轉字節集 (pNotify.FileName)
    .如果結束
    str1 = Unicode轉Ansi (取字節集左邊 (temp, pNotify.FileNameLength))
    m_list.插入表項 (-1, 到文本 (取小時 (取現行時間 ())) + “:” + 到文本 (取分鐘 (取現行時間 ())) + “:” + 到文本 (取秒 (取現行時間 ())), , , , )
    m_list.置標題 (m_list.取表項數 () - 1, 2, m_strWatchedDir + str1)
    .判斷開始 (pNotify.Action = #FILE_ACTION_ADDED) ' 添加了新文件
      m_list.置標題 (m_list.取表項數 () - 1, 1, “添加了文件”)
    .判斷 (pNotify.Action = #FILE_ACTION_REMOVED) ' 刪除了文件
      m_list.置標題 (m_list.取表項數 () - 1, 1, “刪除了文件”)
    .判斷 (pNotify.Action = #FILE_ACTION_RENAMED_NEW_NAME) ' 重命名了文件
      m_list.置標題 (m_list.取表項數 () - 1, 1, “重命名了文件”)
    .判斷 (pNotify.Action = #FILE_ACTION_RENAMED_OLD_NAME) ' 重命名了文件
      m_list.置標題 (m_list.取表項數 () - 1, 1, “重命名了文件”)
    .判斷 (pNotify.Action = #FILE_ACTION_MODIFIED) ' 修改了文件
      m_list.置標題 (m_list.取表項數 () - 1, 1, “修改了文件”)
    .默認
      m_list.置標題 (m_list.取表項數 () - 1, 1, “未知變化”) ' 未知變化
    .判斷結束
  .否則
    跳出循環 ()
  .如果結束
.判斷循環尾 ()
返回 (0)
.子程序 Unicode轉Ansi, 文本型
.參數 參數_數據, 字節集
.局部變量 局部_計數, 整數型
.局部變量 局部_結果數據, 字節集
.局部變量 局部_結果文本, 文本型
局部_計數 = 取字節集長度 (參數_數據) ÷ 2 ' 字符數目兩個
局部_計數 = WideCharToMultiByte1 (936, 512, 參數_數據, 局部_計數, 0, 0, 0, 假) ' 取轉換后的數目
局部_結果數據 = 取空白字節集 (局部_計數)
WideCharToMultiByte (936, 512, 參數_數據, -1, 局部_結果數據, 局部_計數, 0, 假)
局部_結果文本 = 取字節集數據 (局部_結果數據, #文本型, )
返回 (局部_結果文本)
.子程序 字節數組轉字節集, 字節集
.參數 字節數組, 字節型, 數組
.局部變量 字節集, 字節集
.局部變量 N, 整數型
.計次循環首 (取數組成員數 (字節數組), N)
  字節集 = 字節集 + 到字節集 (字節數組 [N])
.計次循環尾 ()
返回 (字節集)
.子程序 OnBtnAlwaysOnTop
.子程序 OnStart
StartWatch (m_strWatchedDir)
IDC_STOP.禁止 = 假
IDC_START.禁止 = 真
IDC_SELECT_DIR.禁止 = 真
IDC_STATE.標題 = “正在監視````” + m_strWatchedDir
.子程序 StartWatch, 邏輯型
.參數 path, 文本型
.局部變量 ThreadId, 整數型
m_strWatchedDir = path
m_hThread = CreateThread (0, 0, 到整數 (&ThreadProc), 0, 0, ThreadId)
.如果 (m_hThread = 0)
  返回 (假)
.否則
  返回 (真)
.如果結束
.子程序 _IDC_STOP_被單擊
.如果真 (m_hThread ≠ 0)
  TerminateThread (m_hThread, 0)
  m_hThread = 0
.如果真結束
.如果真 (hDir ≠ -1)
  CloseHandle (hDir)
  hDir = -1
.如果真結束
IDC_STOP.禁止 = 真
IDC_START.禁止 = 假
IDC_SELECT_DIR.禁止 = 假
.子程序 _IDC_CLEAR_被單擊
m_list.全部刪除 ()
.子程序 _IDC_SELECT_DIR_被單擊
m_strWatchedDir = 瀏覽文件夾 (“”, 假)
.如果真 (m_strWatchedDir = “”)
  m_strWatchedDir = “c:\”
  返回 ()
.如果真結束
WritePrivateProfileString (“settings”, “監視目錄”, m_strWatchedDir, “.\\Settings.ini”)
IDC_STATE.標題 = “你選擇了監視:” + m_strWatchedDir
.子程序 _IDC_START_被單擊
OnStart ()
.子程序 _IDC_ABOUT_被單擊
信息框 (“Hello World”, 0, )

運行結果:

易語言調用API函數監視目錄與文件的代碼

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

延伸 · 閱讀

精彩推薦
  • 易語言一步一步跟我學易語言之關于變量

    一步一步跟我學易語言之關于變量

    今天小編就為大家分享一篇關于一步一步跟我學易語言之關于變量,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨...

    易語言幫助手冊10822021-06-17
  • 易語言易語言關于程序進程和線程的基礎知識

    易語言關于程序進程和線程的基礎知識

    今天小編就為大家分享一篇關于易語言關于程序進程和線程的基礎知識,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起...

    三葉資源網6662022-02-24
  • 易語言易語言獲取指定磁盤的名稱

    易語言獲取指定磁盤的名稱

    今天小編就為大家分享一篇關于易語言獲取指定磁盤的名稱,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來...

    易語言幫助手冊12662022-01-04
  • 易語言易語言生成exe文件的方法

    易語言生成exe文件的方法

    在本篇內容中小編給大家分享的是關于易語言生成exe文件的方法知識點,需要的朋友們參考下。...

    易語言教程網14792022-03-01
  • 易語言實例操作易語言載入窗口

    實例操作易語言載入窗口

    在本文中小編給大家整理的是關于易語言載入窗口的教程和步驟內容,需要的可以跟著學習下...

    易語言教程網19162022-03-02
  • 易語言一步一步跟我學易語言之第二個易程序菜單設計

    一步一步跟我學易語言之第二個易程序菜單設計

    今天小編就為大家分享一篇關于的一步一步跟我學易語言之第二個易程序菜單設計,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要...

    易語言幫助手冊7092021-06-17
  • 易語言易語言在畫板中寫出指定文本當畫板中已滿會自動滾屏

    易語言在畫板中寫出指定文本當畫板中已滿會自動滾屏

    今天小編就為大家分享一篇關于易語言在畫板中寫出指定文本當畫板中已滿會自動滾屏,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,...

    易語言幫助手冊9092022-01-12
  • 易語言易語言設置進度條邊框樣式的方法

    易語言設置進度條邊框樣式的方法

    今天小編就為大家分享一篇關于易語言設置進度條邊框樣式的方法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨...

    易語言幫助手冊4422022-01-20
主站蜘蛛池模板: 最新国产毛片 | 中国老女人一级毛片视频 | 天天艹综合 | 不卡中文一二三区 | 在线观看日韩av电影 | 三级国产三级在线 | 国产欧美日韩视频在线观看 | 日韩视频一区二区三区四区 | 黄色欧美精品 | 国产午夜精品一区二区三区在线观看 | 有兽焉免费动画 | 深夜福利久久久 | 黑人一区| 欧美中文字幕一区二区三区亚洲 | 黄色99视频 | 看毛片电影 | 国产在线地址 | 日日鲁一鲁视频 | 91嫩草丨国产丨精品入口 | 一级做受毛片免费大片 | 天天草天天干天天射 | 日日摸夜夜添夜夜添牛牛 | 久久久久久久免费精品 | 成人区一区二区 | 91短视频在线播放 | 美女毛片在线观看 | 国产在线播放91 | 日韩在线播放第一页 | 久久综合网址 | 韩国草草影院 | 黄色网址免费在线 | 失禁高潮抽搐喷水h | 成人做爰高潮片免费视频韩国 | 欧美一级做一级爱a做片性 毛片电影网址 | 亚洲综合一区二区三区 | 一级毛片电影网 | 精品一区二区电影 | 一级黄色在线免费观看 | 日韩精品a在线观看 | 成人福利在线免费观看 | 久久精品一区二区三 |