为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 易语言相关 > 易语言模块源码 正文

系统服务模块易语言源码

三叶资源网 2018-12-25 10:37:34 易语言模块源码 1965 ℃ 1 评论

系统服务模块易语言源码

@18574509150

.版本 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)
文件下载


来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

已有1位网友发表了看法:

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
彩虹秒赞网工具源码微信多开监听wifi信号强度sqlite3客户端文字游戏快手无水印源码例程会员管理系统高级截图QQ取本机cookie置入汇编ORACLE数据库例程AccessibleB站弹幕助手源码音速启动进程信息百度贴吧验证码项目揭秘
最新评论