系统服务模块易语言源码

系统服务模块易语言源码

.版本 2 .程序集 Service .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码 _临时子程序 () ' 在初始化代码执行完毕后调用测试代码 返回 (0) ' 可以根据您的需要返回任意数值 .子程序 _临时子程序 .局部变量 FileList, FileList, , "0" .局部变量 Num, 整数型 .局部变量 i, 整数型 ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。 Num = ScanPath (“D:\KuGou”, FileList) .计次循环首 (Num, i) ' 调试输出 (FileList [i].FilePath, FileList [i].FileName) .计次循环尾 () .子程序 ScanPath, 整数型, 公开 .参数 directory, 文本型 .参数 FileList, FileList, 数组 .参数 Folder, 文本型, 可空 .局部变量 FolderName, 文本型 .局部变量 FileName, 文本型 .局部变量 hFile, FileList .如果真 (取文本右边 (directory, 1) = “\”) directory = 取文本左边 (directory, 取文本长度 (directory) - 1) .如果真结束 .如果真 (取文本右边 (Folder, 1) ≠ “\”) Folder = Folder + “\” .如果真结束 FileName = 寻找文件 (directory + Folder + “*.*”, ) .判断循环首 (FileName ≠ “”) .如果真 (FileName ≠ “.” 且 FileName ≠ “..”) hFile.Path = directory hFile.FilePath = Folder hFile.FileName = FileName hFile.FileType = 0 加入成员 (FileList, hFile) .如果真结束 FileName = 寻找文件 (, ) .判断循环尾 () FolderName = 寻找文件 (directory + Folder + “*.*”, #子目录 + #隐藏文件) .判断循环首 (FolderName ≠ “”) .如果真 (FolderName ≠ “.” 且 FolderName ≠ “..”) hFile.Path = directory hFile.FilePath = Folder + FolderName + “\” hFile.FileName = 字符 (0) hFile.FileType = 1 加入成员 (FileList, hFile) ScanPath (directory, FileList, Folder + FolderName) .如果真结束 FolderName = 寻找文件 (, #子目录 + #隐藏文件) .判断循环尾 () 返回 (取数组成员数 (FileList)) .子程序 _ServiceCreate, 逻辑型, 公开 .参数 lpServiceName, 文本型 .参数 lpBinaryPathName, 文本型 .参数 dwStartType, 整数型, 可空, . .局部变量 hSCManager, 整数型 .局部变量 hService, 整数型 hSCManager = OpenSCManager (0, 0, 983103) .如果真 (hSCManager ≠ 0) dwStartType = 选择 (是否为空 (dwStartType), 3, dwStartType) hService = CreateService (hSCManager, lpServiceName, lpServiceName, 983103, 32, dwStartType, 1, lpBinaryPathName, 0, 0, 0, 0, 0) CloseServiceHandle (hService) .如果真结束 CloseServiceHandle (hSCManager) 返回 (hService ≠ 0) .子程序 _ServiceDelete, 逻辑型, 公开 .参数 lpServiceName, 文本型 .局部变量 hSCManager, 整数型 .局部变量 hService, 整数型 .局部变量 Status, SERVICE_STATUS .局部变量 Code, 整数型 hSCManager = OpenSCManager (0, 0, 983103) .如果真 (hSCManager ≠ 0) hService = OpenService (hSCManager, lpServiceName, 65536) .如果真 (hService ≠ 0) Code = DeleteService (hService) CloseServiceHandle (hService) .如果真结束 .如果真结束 CloseServiceHandle (hSCManager) 返回 (Code = 1) .子程序 _QueryServiceStatus, 整数型, 公开 .参数 lpServiceName, 文本型 .局部变量 hSCManager, 整数型 .局部变量 hService, 整数型 .局部变量 Status, SERVICE_STATUS .局部变量 CurrentState, 整数型 hSCManager = OpenSCManager (0, 0, 983101) .如果真 (hSCManager ≠ 0) hService = OpenService (hSCManager, lpServiceName, 983551) .判断开始 (hService ≠ 0) .判断开始 (QueryServiceStatus (hService, Status)) CurrentState = Status.dwCurrentState .默认 CloseServiceHandle (hService) .判断结束 .默认 CloseServiceHandle (hSCManager) .判断结束 .如果真结束 返回 (CurrentState) .子程序 _ServiceStart, 逻辑型, 公开 .参数 lpServiceName, 文本型 .局部变量 hSCManager, 整数型 .局部变量 hService, 整数型 .局部变量 Code, 整数型 hSCManager = OpenSCManager (0, 0, 983103) .如果真 (hSCManager ≠ 0) hService = OpenService (hSCManager, lpServiceName, 16) .如果真 (hService ≠ 0) Code = StartService (hService, 0, 0) CloseServiceHandle (hService) .如果真结束 .如果真结束 CloseServiceHandle (hSCManager) 返回 (Code ≠ 0) .子程序 _ServiceStop, 逻辑型, 公开 .参数 lpServiceName, 文本型 .局部变量 hSCManager, 整数型 .局部变量 hService, 整数型 .局部变量 Status, SERVICE_STATUS .局部变量 Code, 整数型 hSCManager = OpenSCManager (0, 0, 1) .如果真 (hSCManager ≠ 0) hService = OpenService (hSCManager, lpServiceName, 32) .如果真 (hSCManager ≠ 0) Code = ControlService (hService, 1, Status) CloseServiceHandle (hService) .如果真结束 .如果真结束 CloseServiceHandle (hSCManager) 返回 (Code ≠ 0) .子程序 ServiceStart, 逻辑型, 公开 .参数 lpServiceName, 文本型 .局部变量 Code, 整数型 .判断循环首 (_QueryServiceStatus (lpServiceName) = 3) 处理事件 () .判断循环尾 () _ServiceStart (lpServiceName) .判断循环首 (_QueryServiceStatus (lpServiceName) = 2) Code = _QueryServiceStatus (lpServiceName) .如果真 (Code = 4 或 Code = 1) 跳出循环 () .如果真结束 处理事件 () .判断循环尾 () 返回 (_QueryServiceStatus (lpServiceName) = 4) .子程序 ServiceStop, 逻辑型, 公开 .参数 lpServiceName, 文本型 .局部变量 Code, 整数型 .判断循环首 (_QueryServiceStatus (lpServiceName) = 2) 处理事件 () .判断循环尾 () _ServiceStop (lpServiceName) .判断循环首 (_QueryServiceStatus (lpServiceName) = 3) Code = _QueryServiceStatus (lpServiceName) .如果真 (Code = 1 或 Code = 4) 跳出循环 () .如果真结束 处理事件 () .判断循环尾 () 返回 (_QueryServiceStatus (lpServiceName) = 1)
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

系统服务模块易语言源码》有0个想法

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注