一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

服務(wù)器之家 - 編程語言 - 易語言 - 易語言調(diào)用API函數(shù)監(jiān)視目錄與文件的代碼

易語言調(diào)用API函數(shù)監(jiān)視目錄與文件的代碼

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

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

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, 整數(shù)型, , "GetPrivateProfileIntA"
  .參數(shù) lpAppName, 文本型
  .參數(shù) lpKeyName, 文本型
  .參數(shù) nDefault, 整數(shù)型
  .參數(shù) lpFileName, 文本型
.DLL命令 GetPrivateProfileString, 整數(shù)型, , "GetPrivateProfileStringA"
  .參數(shù) lpAppName, 文本型
  .參數(shù) lpKeyName, 文本型
  .參數(shù) lpDefault, 文本型
  .參數(shù) lpReturnedString, 文本型, 傳址
  .參數(shù) nSize, 整數(shù)型
  .參數(shù) lpFileName, 文本型
.DLL命令 TerminateThread, 整數(shù)型, , "TerminateThread"
  .參數(shù) hThread, 整數(shù)型
  .參數(shù) dwExitCode, 整數(shù)型
.DLL命令 CloseHandle, 整數(shù)型, , "CloseHandle"
  .參數(shù) Object, 整數(shù)型
.DLL命令 PostMessage, 整數(shù)型, , "PostMessageA"
  .參數(shù) hWnd, 整數(shù)型
  .參數(shù) Msg, 整數(shù)型
  .參數(shù) wParam, 整數(shù)型
  .參數(shù) lParam, 整數(shù)型
.DLL命令 RegisterHotKey, 整數(shù)型, , "RegisterHotKey"
  .參數(shù) hWnd, 整數(shù)型
  .參數(shù) id, 整數(shù)型
  .參數(shù) fsModifiers, 整數(shù)型
  .參數(shù) vk, 整數(shù)型
.DLL命令 CreateThread, 整數(shù)型, , "CreateThread"
  .參數(shù) SecurityAttributes, 整數(shù)型
  .參數(shù) StackSize, 整數(shù)型
  .參數(shù) StartFunction, 整數(shù)型
  .參數(shù) ThreadParameter, 整數(shù)型
  .參數(shù) CreationFlags, 整數(shù)型
  .參數(shù) ThreadId, 整數(shù)型, 傳址
.DLL命令 WideCharToMultiByte1, 整數(shù)型, "kernel32.dll", "WideCharToMultiByte"
  .參數(shù) CodePage, 整數(shù)型, , CodePage
  .參數(shù) dwFlags, 整數(shù)型, , dwFlags
  .參數(shù) lpWideCharStr, 字節(jié)集, , lpWideCharStr
  .參數(shù) cchWideChar, 整數(shù)型, , cchWideChar
  .參數(shù) lpMultiByteStr, 整數(shù)型, , lpMultiByteStr
  .參數(shù) cchMultiByte, 整數(shù)型, , cchMultiByte
  .參數(shù) lpDefaultChar, 整數(shù)型, , lpDefaultChar
  .參數(shù) lpUsedDefaultChar, 邏輯型, , lpUsedDefaultChar
.DLL命令 WideCharToMultiByte, , "kernel32.dll", "WideCharToMultiByte"
  .參數(shù) CodePage, 整數(shù)型, , CodePage
  .參數(shù) dwFlags, 整數(shù)型, , dwFlags
  .參數(shù) lpWideCharStr, 字節(jié)集, , lpWideCharStr
  .參數(shù) cchWideChar, 整數(shù)型, , cchWideChar
  .參數(shù) lpMultiByteStr, 字節(jié)集, , lpMultiByteStr
  .參數(shù) cchMultiByte, 整數(shù)型, , cchMultiByte
  .參數(shù) lpDefaultChar, 整數(shù)型, , lpDefaultChar
  .參數(shù) lpUsedDefaultChar, 邏輯型, , lpUsedDefaultChar
.DLL命令 CreateFile, 整數(shù)型, , "CreateFileA"
  .參數(shù) lpFileName, 文本型
  .參數(shù) dwDesiredAccess, 整數(shù)型
  .參數(shù) dwShareMode, 整數(shù)型
  .參數(shù) lpSecurityAttributes, 整數(shù)型
  .參數(shù) dwCreationDisposition, 整數(shù)型
  .參數(shù) dwFlagsAndAttributes, 整數(shù)型
  .參數(shù) hTemplateFile, 整數(shù)型
.DLL命令 ReadDirectoryChangesW, 邏輯型, , "ReadDirectoryChangesW"
  .參數(shù) hDirectory, 整數(shù)型
  .參數(shù) lpbuff, _FILE_NOTIFY_INFORMATION, 傳址
  .參數(shù) nBufferLength, 整數(shù)型
  .參數(shù) bWatchSubtree, 邏輯型
  .參數(shù) dwNotifyFilter, 整數(shù)型
  .參數(shù) lpBytesReturned, 整數(shù)型, 傳址
  .參數(shù) lpOverlapped, OVERLAPPED, 傳址
  .參數(shù) lpCompletionRoutine, 整數(shù)型
.DLL命令 WritePrivateProfileString, 整數(shù)型, , "WritePrivateProfileStringA"
  .參數(shù) lpAppName, 文本型
  .參數(shù) lpKeyName, 文本型
  .參數(shù) lpString, 文本型
  .參數(shù) lpFileName, 文本型

自定義數(shù)據(jù)類型表

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

常量數(shù)據(jù)表

?
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"

監(jiān)視目錄與文件的代碼

?
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, 整數(shù)型
.程序集變量 m_bDel0, 整數(shù)型
.程序集變量 m_bRename, 整數(shù)型
.程序集變量 m_bModify0, 整數(shù)型
.程序集變量 m_bOther0, 整數(shù)型
.程序集變量 m_strWatchedDir, 文本型
.程序集變量 m_hThread, 整數(shù)型
.程序集變量 hDir, 整數(shù)型
.程序集變量 m_bAlwaysOnTop, 整數(shù)型
.程序集變量 m_bAutoRun, 整數(shù)型
.程序集變量 m_bMinimized, 整數(shù)型
.程序集變量 m_bAutoStart, 整數(shù)型
.程序集變量 m_i, 整數(shù)型
.程序集變量 m_OVERLAPPED, OVERLAPPED
.子程序 __啟動窗口_創(chuàng)建完畢
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”, “監(jiān)視目錄”, “”, m_strWatchedDir, 260, “.\\Settings.ini”)
m_hThread = 0
hDir = -1
.如果真 (m_bAlwaysOnTop = 1)
  OnBtnAlwaysOnTop ()
.如果真結(jié)束
.如果真 (m_bMinimized = 1)
  PostMessage (取窗口句柄 (), #WM_SYSCOMMAND, #SC_MINIMIZE, 0)
.如果真結(jié)束
.如果真 (m_bAutoStart = 1)
  OnStart ()
.如果真結(jié)束
RegisterHotKey (取窗口句柄 (), 199, #MOD_ALT, #Z鍵)
IDC_STATE.標(biāo)題 = “你選擇的監(jiān)視目錄為:” + m_strWatchedDir
.子程序 __啟動窗口_將被銷毀
.如果真 (m_hThread ≠ 0)
  TerminateThread (m_hThread, 0)
  m_hThread = 0
.如果真結(jié)束
.如果真 (hDir ≠ -1)
  CloseHandle (hDir)
  hDir = -1
.如果真結(jié)束
.子程序 ThreadProc, 整數(shù)型
.參數(shù) lparam, 整數(shù)型
.局部變量 pNotify, _FILE_NOTIFY_INFORMATION
.局部變量 dwBytesReturned, 整數(shù)型
.局部變量 str1, 文本型
.局部變量 temp, 字節(jié)集
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)
.如果真結(jié)束
.判斷循環(huán)首 (真)
  .如果 (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 = 字節(jié)數(shù)組轉(zhuǎn)字節(jié)集 (pNotify.FileName)
    .否則
      temp = 字節(jié)數(shù)組轉(zhuǎn)字節(jié)集 (pNotify.FileName)
    .如果結(jié)束
    str1 = Unicode轉(zhuǎn)Ansi (取字節(jié)集左邊 (temp, pNotify.FileNameLength))
    m_list.插入表項(xiàng) (-1, 到文本 (取小時(shí) (取現(xiàn)行時(shí)間 ())) + “:” + 到文本 (取分鐘 (取現(xiàn)行時(shí)間 ())) + “:” + 到文本 (取秒 (取現(xiàn)行時(shí)間 ())), , , , )
    m_list.置標(biāo)題 (m_list.取表項(xiàng)數(shù) () - 1, 2, m_strWatchedDir + str1)
    .判斷開始 (pNotify.Action = #FILE_ACTION_ADDED) ' 添加了新文件
      m_list.置標(biāo)題 (m_list.取表項(xiàng)數(shù) () - 1, 1, “添加了文件”)
    .判斷 (pNotify.Action = #FILE_ACTION_REMOVED) ' 刪除了文件
      m_list.置標(biāo)題 (m_list.取表項(xiàng)數(shù) () - 1, 1, “刪除了文件”)
    .判斷 (pNotify.Action = #FILE_ACTION_RENAMED_NEW_NAME) ' 重命名了文件
      m_list.置標(biāo)題 (m_list.取表項(xiàng)數(shù) () - 1, 1, “重命名了文件”)
    .判斷 (pNotify.Action = #FILE_ACTION_RENAMED_OLD_NAME) ' 重命名了文件
      m_list.置標(biāo)題 (m_list.取表項(xiàng)數(shù) () - 1, 1, “重命名了文件”)
    .判斷 (pNotify.Action = #FILE_ACTION_MODIFIED) ' 修改了文件
      m_list.置標(biāo)題 (m_list.取表項(xiàng)數(shù) () - 1, 1, “修改了文件”)
    .默認(rèn)
      m_list.置標(biāo)題 (m_list.取表項(xiàng)數(shù) () - 1, 1, “未知變化”) ' 未知變化
    .判斷結(jié)束
  .否則
    跳出循環(huán) ()
  .如果結(jié)束
.判斷循環(huán)尾 ()
返回 (0)
.子程序 Unicode轉(zhuǎn)Ansi, 文本型
.參數(shù) 參數(shù)_數(shù)據(jù), 字節(jié)集
.局部變量 局部_計(jì)數(shù), 整數(shù)型
.局部變量 局部_結(jié)果數(shù)據(jù), 字節(jié)集
.局部變量 局部_結(jié)果文本, 文本型
局部_計(jì)數(shù) = 取字節(jié)集長度 (參數(shù)_數(shù)據(jù)) ÷ 2 ' 字符數(shù)目兩個
局部_計(jì)數(shù) = WideCharToMultiByte1 (936, 512, 參數(shù)_數(shù)據(jù), 局部_計(jì)數(shù), 0, 0, 0, 假) ' 取轉(zhuǎn)換后的數(shù)目
局部_結(jié)果數(shù)據(jù) = 取空白字節(jié)集 (局部_計(jì)數(shù))
WideCharToMultiByte (936, 512, 參數(shù)_數(shù)據(jù), -1, 局部_結(jié)果數(shù)據(jù), 局部_計(jì)數(shù), 0, 假)
局部_結(jié)果文本 = 取字節(jié)集數(shù)據(jù) (局部_結(jié)果數(shù)據(jù), #文本型, )
返回 (局部_結(jié)果文本)
.子程序 字節(jié)數(shù)組轉(zhuǎn)字節(jié)集, 字節(jié)集
.參數(shù) 字節(jié)數(shù)組, 字節(jié)型, 數(shù)組
.局部變量 字節(jié)集, 字節(jié)集
.局部變量 N, 整數(shù)型
.計(jì)次循環(huán)首 (取數(shù)組成員數(shù) (字節(jié)數(shù)組), N)
  字節(jié)集 = 字節(jié)集 + 到字節(jié)集 (字節(jié)數(shù)組 [N])
.計(jì)次循環(huán)尾 ()
返回 (字節(jié)集)
.子程序 OnBtnAlwaysOnTop
.子程序 OnStart
StartWatch (m_strWatchedDir)
IDC_STOP.禁止 = 假
IDC_START.禁止 = 真
IDC_SELECT_DIR.禁止 = 真
IDC_STATE.標(biāo)題 = “正在監(jiān)視````” + m_strWatchedDir
.子程序 StartWatch, 邏輯型
.參數(shù) path, 文本型
.局部變量 ThreadId, 整數(shù)型
m_strWatchedDir = path
m_hThread = CreateThread (0, 0, 到整數(shù) (&ThreadProc), 0, 0, ThreadId)
.如果 (m_hThread = 0)
  返回 (假)
.否則
  返回 (真)
.如果結(jié)束
.子程序 _IDC_STOP_被單擊
.如果真 (m_hThread ≠ 0)
  TerminateThread (m_hThread, 0)
  m_hThread = 0
.如果真結(jié)束
.如果真 (hDir ≠ -1)
  CloseHandle (hDir)
  hDir = -1
.如果真結(jié)束
IDC_STOP.禁止 = 真
IDC_START.禁止 = 假
IDC_SELECT_DIR.禁止 = 假
.子程序 _IDC_CLEAR_被單擊
m_list.全部刪除 ()
.子程序 _IDC_SELECT_DIR_被單擊
m_strWatchedDir = 瀏覽文件夾 (“”, 假)
.如果真 (m_strWatchedDir = “”)
  m_strWatchedDir = “c:\”
  返回 ()
.如果真結(jié)束
WritePrivateProfileString (“settings”, “監(jiān)視目錄”, m_strWatchedDir, “.\\Settings.ini”)
IDC_STATE.標(biāo)題 = “你選擇了監(jiān)視:” + m_strWatchedDir
.子程序 _IDC_START_被單擊
OnStart ()
.子程序 _IDC_ABOUT_被單擊
信息框 (“Hello World”, 0, )

運(yùn)行結(jié)果:

易語言調(diào)用API函數(shù)監(jiān)視目錄與文件的代碼

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對服務(wù)器之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产suv精品| 成人精品视频 成人影院 | 欧乱色国产精品兔费视频 | a男人天堂 | 四大美女思春艳史片 | 日本中文字幕一区二区有码在线 | 九九爱这里只有精品 | 日韩欧美色| 九九九国产视频 | 逼里逼里香| 国产精品久久久久不卡绿巨人 | 亚洲成年人在线观看 | 99视频在线免费 | 色欲麻将 | 国内精品久久久久久中文字幕 | 男人天堂999 | 国产精品亚洲午夜不卡 | 欧美一级乱妇老太婆特黄 | 精品国产乱码久久久久久免费流畅 | 久久久久久久99精品免费观看 | 国产成人亚洲综合网站不卡 | 国产好痛疼轻点好爽的视频 | 亚洲 国产精品 日韩 | www.毛片在线观看 | 红色播放器 | 美女岳肉太深了使劲 | 国产精品香蕉夜间视频免费播放 | 99re在线精品视频免费 | 欧美色综合高清免费 | 成人永久免费视频 | 亚洲男人天堂网址 | 久久性生大片免费观看性 | zol中关村在线官网 yy6080欧美三级理论 | 免费看全黄特黄毛片 | 美女大逼逼 | 丝袜兔女郎被啪在线观看91 | 国模孕妇季玥337p人体 | 五月激情丁香婷婷综合第九 | 91麻豆精品国产91久久久 | 色花堂中文字幕98堂网址 | gayrb免费漫画入口 |