国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > 易語言 > 正文

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

2024-07-21 23:02:53
字體:
來源:轉載
供稿:網友

DLL命令表

.版本 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, 文本型

自定義數據類型表

.版本 2.數據類型 OVERLAPPED  .成員 ternal, 整數型  .成員 ternalHigh, 整數型  .成員 低32位, 整數型  .成員 高32位, 整數型  .成員 事件句柄, 整數型.數據類型 _FILE_NOTIFY_INFORMATION  .成員 NextEntryOffset, 整數型  .成員 Action, 整數型  .成員 FileNameLength, 整數型  .成員 FileName, 字節型, , "1024"

常量數據表

.版本 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"

監視目錄與文件的代碼

.版本 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 = 0hDir = -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.子程序 OnStartStartWatch (m_strWatchedDir)IDC_STOP.禁止 = 假IDC_START.禁止 = 真IDC_SELECT_DIR.禁止 = 真IDC_STATE.標題 = “正在監視````” + m_strWatchedDir.子程序 StartWatch, 邏輯型.參數 path, 文本型.局部變量 ThreadId, 整數型m_strWatchedDir = pathm_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, )

運行結果:

易語言,文件,目錄,讀寫,監控

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到易語言教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 手游| 平塘县| 五大连池市| 天门市| 海伦市| 筠连县| 重庆市| 金湖县| 闽清县| 宣威市| 静安区| 汕头市| 浦县| 高陵县| 缙云县| 南华县| 滦南县| 杭锦后旗| 崇左市| 铜鼓县| 洪泽县| 新田县| 将乐县| 昭通市| 勃利县| 深州市| 南宁市| 乌兰浩特市| 平江县| 灌阳县| 外汇| 焉耆| 青神县| 台湾省| 牙克石市| 讷河市| 龙里县| 渭源县| 杭州市| 岑溪市| 西平县|