• 当前位置: 首页 > 系统I类源码 > 系统工具源码易语言控制系统服务源码
  • 易语言控制系统服务源码

    • 软件授权:
      开源软件
    • 软件大小:
      21.03 KB
    • 文件类型:
      .zip,.e
    • 下载次数:
    • 上传用户:
      心脏
    • 发布时间:
      2018-10-11 22:37
    • 软件等阶:
    • 运行环境:
      Winall,Win2003,WinXP,Win7,Win8
    • 软件评级:

    软件介绍             



     

    易语言控制系统服务源码


    系统结构:线程池控制,前台控制,命令行控制,服务入口,回调消息,安装服务,启动服务,停止服务,卸载服务,初始化_函数,退出_函数,启动,关闭,投递消息,状态,置工作状态,取工作状态,等待消息,增加线程,置线程工作状态,取线程工作状态,启动线程池,增加新线程,线程状态,投递任务,等待线程池消息,关闭线程池,服务操作1,StartServiceCtrlDispatcherA,RegisterServiceCtrlHandlerA,SetServiceStatus,OpenSCManagerA,CreateServiceA,CloseServiceHandle,OpenServiceA,DeleteService,StartServiceA,ControlService,CreateThread,ShellExecuteA,消息框1,GetLastError,CreateIoCompletionPort,GetQueuedCompletionStatus,PostQueuedCompletionStatus,GetSystemInfo,


    ======程序集
               |  |
               |  |------ _启动子程序
               |  |
               |  |------ 线程池控制
               |  |
               |  |------ 前台控制
               |  |
               |  |------ 命令行控制
               |  |
               |  |------ 服务入口
               |  |
               |  |------ 回调消息
               |  |
               |  |------ 安装服务
               |  |
               |  |------ 启动服务
               |  |
               |  |------ 停止服务
               |  |
               |  |------ 卸载服务
               |  |
               |  |------ 初始化_函数
               |  |
               |  |------ 退出_函数
               |  |
               |  |
    ======线程池
               |  |
               |  |------ _初始化
               |  |
               |  |------ _销毁
               |  |
               |  |------ 启动
               |  |
               |  |------ 关闭
               |  |
               |  |------ 投递消息
               |  |
               |  |------ 状态
               |  |
               |  |------ 置工作状态
               |  |
               |  |------ 取工作状态
               |  |
               |  |------ 等待消息
               |  |
               |  |------ 增加线程
               |  |
               |  |
    ======程序集1
               |  |
               |  |------ _工作线程
               |  |
               |  |------ 置线程工作状态
               |  |
               |  |------ 取线程工作状态
               |  |
               |  |------ 启动线程池
               |  |
               |  |------ 增加新线程
               |  |
               |  |------ 线程状态
               |  |
               |  |------ 投递任务
               |  |
               |  |------ 等待线程池消息
               |  |
               |  |------ 关闭线程池
               |  |
               |  |------ 服务操作1
               |  |
               |  |
    ======调用的Dll
               |  |
               |  |---[dll]------   StartServiceCtrlDispatcherA
               |  |
               |  |---[dll]------   RegisterServiceCtrlHandlerA
               |  |
               |  |---[dll]------   SetServiceStatus
               |  |
               |  |---[dll]------   OpenSCManagerA
               |  |
               |  |---[dll]------   CreateServiceA
               |  |
               |  |---[dll]------   CloseServiceHandle
               |  |
               |  |---[dll]------   OpenServiceA
               |  |
               |  |---[dll]------   DeleteService
               |  |
               |  |---[dll]------   StartServiceA
               |  |
               |  |---[dll]------   ControlService
               |  |
               |  |---[dll]------   CreateThread
               |  |
               |  |---[dll]------   ShellExecuteA
               |  |
               |  |---[dll]------   消息框1
               |  |
               |  |---[dll]------   GetLastError
               |  |
               |  |---[dll]------   CreateIoCompletionPort
               |  |
               |  |---[dll]------   GetQueuedCompletionStatus
               |  |
               |  |---[dll]------   PostQueuedCompletionStatus
               |  |
               |  |---[dll]------   GetSystemInfo
               |  |
               |  |---[dll]------   _关闭句柄

      


    易语言控制系统服务源码


    调用的DLL命令:


    .DLL命令 StartServiceCtrlDispatcherA, 整数型
        .参数 lpServiceStartTable, 服务


    .DLL命令 RegisterServiceCtrlHandlerA, 整数型
        .参数 lpServiceName, 文本型
        .参数 lpHandlerProc, 子程序指针


    .DLL命令 SetServiceStatus, 整数型
        .参数 hServiceStatus, 整数型
        .参数 lpServiceStatus, 服务控制


    .DLL命令 OpenSCManagerA, 整数型, , , , 建立了一个连接到服务控制管理器,并打开指定的数据库。
        .参数 lpMachineName, 整数型, , 指向零终止字符串,命名为目标计算机。如果该指针为NULL ,或者如果它指向一个空字符串,函数连接到服务控制管理器在本地计算机上。
        .参数 lpDatabaseName, 整数型, , 指向零终止字符串,名称的服务控制管理数据库,以开放。此字符串应指定ServicesActive 。如果该指针为NULL ,该ServicesActive数据库默认情况下打开。
        .参数 dwDesiredAccess, 整数型, , 指定服务的访问控制管理。才准予进入的要求,系统会检查访问令牌的调用进程对任意访问控制列表的security描述符与服务控制管理器对象。


    .DLL命令 CreateServiceA, 整数型, , , , 创建一个服务对象并且把它加入到服务管理数据库中,如果函数成功,返回值将是该服务的句柄。如果函数失败,则返回值为 NULL。 若要扩展的错误了解调用 GetLastError。
        .参数 句柄, 整数型, , 服务控制管理器数据库的句柄。此句柄由 OpenSCManager 函数返回,并且必须 具有 SC_MANAGER_CREATE_SERVICE 的访问权限。 有关更多的信息请参阅 Service security和访问权限。
        .参数 服务名称, 文本型, , 要安装该服务的名称。 最大字符串长度为 256 个字符。 服务控制管理器数据库将保留在的字符的大小写,但是服务名称比较总是区分大小写。 正斜杠和一个反斜线不是有效的服务名称字符。
        .参数 显示名称, 文本型, , [可选] 对被用户界面程序用来识别服务的显示名称。 此字符串具有最大长度为 256 个字符。 服务控制管理器中的情况下保留名称。 显示名称比较总是不区分大小写。
        .参数 访问令牌, 整数型, , 对服务的访问。 请求的访问之前,系统将检查调用进程的访问令牌。 一个值列表请参阅服务security和访问权限。
        .参数 服务类型, 整数型, , dwServiceType 服务类型。1:驱动服务程序 2:文件系统驱动服务程序 4:保留 8:保留 16:运行于独立进程的服务程序 32:被多个进程共享的服务程序
        .参数 启动选项, 整数型, , 服务启动选项。此参数可以是下列值之一:0:用于由系统加载器创建的设备驱动程序启动。1:用于由IoInitSystem 函数创建的设备驱动程序启动。2:系统启动时由服务控制管理器自动启动该服务程序。3:用于当有进程调用StartService 函数时由服务控制管理器(SCM)启动的服务。4:表示该服务不可启动。
        .参数 错误保护, 整数型, , 当该启动服务失败时产生错误的严重程度以及采取的保护措施。此参数可以是下列值之一:0:服务启动程序将忽略该错误并返回继续执行。1:服务启动程序将把该错误记录到事件日志中并返回继续执行。3:服务启动程序将把该错误记录到事件日志中。若最后一次正确配置可用,服务启动程序将以最后一次正确配置重新启动,否则将返回继续执行。3:服务启动程序将把该错误记录到事件日志中。若最后一次正确配置可用,服务启动程序将以最后一次正确配置重新启动,否则将退出执行
        .参数 lpBinaryPathName, 文本型, , [可选] 服务程序二进制文件,完全限定路径。 如果路径中包含空格它必须被引用,以便它正确的解析。
        .参数 lpLoadOrderGroup, 整数型, , [可选] 在加载顺序此服务所属的组的名称。 指定 NULL 或空字符串,如果该服务不属于组。 启动程序使用加载顺序组加载服务相对于其他组的指定顺序组。 加载顺序组列表包含在下面的注册表值:[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder] 
        .参数 lpdwTagId, 整数型, , [可选] 指向接收 lpLoadOrderGroup 参数中指定的组中唯一的标记值的变量。 如果不更改现有的标签,请指定 NULL。订购服务启动一个加载顺序通过在以下注册表值中指定标记顺序矢量的组中,您可以使用的标记:[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GroupOrderList]。标记只能用于具有 SERVICE_BOOT_START 或启动类型的 SERVICE_SYSTEM_START 驱动程序服务。
        .参数 lpDependencies, 整数型, , [可选] 空分隔名称的服务或加载顺序组系统必须在这个服务开始之前的双空终止数组的指针。 如果服务没有任何依赖关系,请指定为 NULL 或空字符串。 一组依赖意味着如果至少一个组的成员运行后试图启动组的所有成员,可以运行此服务。当需要区分各服务由于服务和服务组共享相同的命名空间前缀与 SC_GROUP_IDENTIFIER 的组名时必须加上此参数。
        .参数 lp, 整数型, , [可选] 该服务应在其下运行的帐户的名称。 如果SERVICE_WIN32_OWN_PROCESS 服务类型 DomainNameUserName 窗体中使用一个帐户名。 服务进程将被作为此用户登录。 如果该帐户属于内置域,您可以指定.UserName。
        .参数 lpPassword, 整数型, , 由 lpServiceStartName 参数指定的帐户名的密码。 如果该帐户没有密码,或者如果在 LocalService,NetworkService 或 LocalSystem 帐户中运行该服务,请指定一个空字符串。 更多的信息请参阅服务记录列表。如果托管的服务帐户或虚拟帐户名称的名称由 lpServiceStartName 参数指定的帐户名称 lpPassword 参数必须为 NULL。


    .DLL命令 CloseServiceHandle, 整数型
        .参数 hSCObject, 整数型


    .DLL命令 OpenServiceA, 整数型
        .参数 hSCManager, 整数型
        .参数 lpServiceName, 文本型
        .参数 dwDesiredAccess, 整数型


    .DLL命令 DeleteService, 整数型
        .参数 hService, 整数型


    .DLL命令 StartServiceA, 整数型
        .参数 hService, 整数型
        .参数 dwNumServiceArgs, 整数型
        .参数 lpServiceArgVectors, 整数型


    .DLL命令 ControlService, 逻辑型
        .参数 hService, 整数型
        .参数 dwControl, 整数型
        .参数 lpServiceStatus, 服务控制


    .DLL命令 CreateThread, 整数型
        .参数 lpThreadAttributes, 整数型
        .参数 dwStackSize, 整数型
        .参数 lpStartAddress, 子程序指针
        .参数 lpParameter, 整数型
        .参数 dwCreationFlags, 整数型
        .参数 lpThreadId, 整数型


    .DLL命令 ShellExecuteA, 整数型
        .参数 hwnd, 整数型
        .参数 lpOperation, 文本型
        .参数 lpFile, 文本型
        .参数 lpParameters, 文本型
        .参数 lpDirectory, 文本型
        .参数 nShowCmd, 整数型


    .DLL命令 消息框1, 整数型, , "MessageBoxExA"
        .参数 eax, 整数型
        .参数 ebx, 文本型
        .参数 ecx, 文本型
        .参数 edx, 整数型
        .参数 eex, 整数型


    .DLL命令 GetLastError, 整数型, , "GetLastError"


    .DLL命令 CreateIoCompletionPort, 整数型, , "CreateIoCompletionPort", 公开, 返回IOCP的句柄。若为NULL创建失败,不为NULL创建成功
        .参数 Handle, 整数型, , 关联的文件句柄。
        .参数 ExistingCompletionPort, 整数型, , 已经存在的完成端口。如果为NULL,则为新建一个IOCP。
        .参数 CompletionKey, 整数型, , 传送给处理函数的参数。
        .参数 NumberOfConcurrentThreads, 整数型, , 有多少个线程在访问这个消息队列。当参数不为0的时候,系统忽略该参数,当该参数为0表示允许同时相等数目于处理器个数的线程访问该消息队列。


    .DLL命令 GetQueuedCompletionStatus, 整数型, , "GetQueuedCompletionStatus", 公开, 调用成功,则返回非零数值,
        .参数 CompletionPort, 整数型, , 指定的IOCP,该值由CreateIoCompletionPort函数创建。
        .参数 lpNumberOfBytesTransferred, 整数型, 传址, 一次完成后的I/O操作所传送数据的字节数。
        .参数 lpCompletionKey, 整数型, 传址, 当文件I/O操作完成后,用于存放与之关联的CK。
        .参数 lpOverlapped, 整数型, 传址, 为调用IOCP机制所引用的OVERLAPPED结构。
        .参数 dwMilliseconds, 整数型, , 用于指定调用者等待CP的时间。


    .DLL命令 PostQueuedCompletionStatus, 整数型, , "PostQueuedCompletionStatus", 公开
        .参数 CompletionPort, 整数型, , 指定想向其发送一个完成数据包的完成端口对象。
        .参数 dwNumberOfBytesTransferred, 整数型, , 指定—个值,直接传递给GetQueuedCompletionStatus函数中对应的参数
        .参数 dwCompletionKey, 整数型, , 指定—个值,直接传递给GetQueuedCompletionStatus函数中对应的参数
        .参数 lpOverlapped, 整数型, , 指定—个值,直接传递给GetQueuedCompletionStatus函数中对应的参数


    .DLL命令 GetSystemInfo, , , "GetSystemInfo"
        .参数 lpSystemInfo, SYSTEM_INFO


    .DLL命令 _关闭句柄, 整数型, , "CloseHandle", 公开, kernel32.dll
        .参数 对象句柄, 整数型

    相关软件

    下载说明

    本站目前主要提供易语言源码、模块、支持库等下载大部分源码均为ZIP打包,
    注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
    部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
    由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。

    使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。

     

    推荐排行

    • 易语言糊模查找窗口标题

      易语言糊模查找窗口标题并弹出源码,枚举系统所有窗口,GetWindow,GetWindowText,GetWindowTextLength,FindWindow,ShowWindow...

    • 易语言其它简易换肤13种源

      易语言其它简易换肤13种源码,配色...

    • 易语言简单的验证码识别

      易语言简单的验证码识别加界面源码,主识别程序,是否符合,说明,程序初始化,显示验证码,分割图片,对应识别,替换杂色,全部替换色,除指定色外全部除去,读入图片...

    • 易语言笔划输入法一整套

      易语言笔划输入法一整套文件源码,子程序1,数清,清,按钮1,按钮2,按钮3,按钮4,按钮5,注,投递文本,解码火星文,计1,笔画字刷新,操作,字刷新,计,填,GetGUIThreadInfo,ClientToScreen,屏幕截图,拖动屏幕...

    • 易语言窗口渐变源码

      易语言窗口渐变源码,CreateSolidBrush,DeleteObject,FillRect,GetDC...

    • 易语言窗体拉动源码

      易语言窗体拉动源码,设置系统菜单,API_设置窗口区域,创建椭圆区域,取窗口风格,置窗口风格...

    • 易语言突破灰色按钮和水

      易语言突破灰色按钮和水波特效,突破灰色按钮和水波特效源码,装载图片,水周期,水波特效,装载图片_,接收装载图返回的整数,水周期_,窗口绘图,水波特效_,突破灰色按钮,激活按钮,取得当...

    • 易语言突破灰色按钮和水

      易语言突破灰色按钮和水波特效源码,装载图片,水周期,水波特效,突破灰色按钮,激活按钮,取得当前活动窗口句柄,枚举所有子窗体,是否活动窗口,激活窗口...

    • 易语言科大讯飞语音库调

      易语言科大讯飞语音库调用例程源码,刷新窗口,取错误码,初始化,反初始化,连接语音服务器,断开语音服务器,置合成参数,取合成参数,字符串合成到音频文件,文本文件合成到音频文件,播放...