• 当前位置: 首页 > 系统II类源码 > 模块控件源码易语言驱动级读写内存源码,易语言驱动级读写内存模块源码
  • 易语言驱动级读写内存源码,易语言驱动级读写内存模块源码

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

    软件介绍             



     

    易语言驱动级读写内存模块源码


    系统结构:加载驱动_,卸载驱动_,与驱动程序通信_,键码转换,CreateServiceA,OpenServiceA,StartServiceA,CloseServiceHandle,CreateFileA,ControlService,OpenSCManagerA,DeleteService,取指针_字节集,DeviceIoControl,取指针_字节,CloseHandle,错误提示管理_,字节集到十六进制文本_,lstrcpyn_内存结构,lstrcpyn_字节集,lstrcpyn_整数,GetCurrentProcessId,


    ======窗口程序集1
               |  |
               |  |------ _启动子程序
               |  |
               |  |
    ======程序集1
               |  |
               |  |------ 加载驱动_
               |  |
               |  |------ 卸载驱动_
               |  |
               |  |------ 与驱动程序通信_
               |  |
               |  |
    ======调用的Dll
               |  |
               |  |---[dll]------   键码转换
               |  |
               |  |---[dll]------   CreateServiceA
               |  |
               |  |---[dll]------   OpenServiceA
               |  |
               |  |---[dll]------   StartServiceA
               |  |
               |  |---[dll]------   CloseServiceHandle
               |  |
               |  |---[dll]------   CreateFileA
               |  |
               |  |---[dll]------   ControlService
               |  |
               |  |---[dll]------   OpenSCManagerA
               |  |
               |  |---[dll]------   DeleteService
               |  |
               |  |---[dll]------   取指针_字节集
               |  |
               |  |---[dll]------   DeviceIoControl
               |  |
               |  |---[dll]------   取指针_字节
               |  |
               |  |---[dll]------   CloseHandle
      ======主窗口程序集
               |  |
               |  |------ _启动子程序
               |  |
               |  |------ _窗口_主窗口_创建完毕
               |  |
               |  |------ 错误提示管理_
               |  |
               |  |------ _窗口_主窗口_将被销毁
               |  |
               |  |------ _按钮_读内存_被单击
               |  |
               |  |------ _按钮_写内存_被单击
               |  |
               |  |------ 字节集到十六进制文本_
               |  |
               |  |
    ======调用的Dll
               |  |
               |  |---[dll]------   lstrcpyn_内存结构
               |  |
               |  |---[dll]------   lstrcpyn_字节集
               |  |
               |  |---[dll]------   lstrcpyn_整数
               |  |
               |  |---[dll]------   GetCurrentProcessId

      


    易语言驱动级读写内存模块源码


    调用的DLL命令:


    .DLL命令 键码转换, 整数型, , "MapVirtualKeyA", , 返回转换后的代码
        .参数 wCode, 整数型, , 代码值
        .参数 wMapType, 整数型, , 0--虚拟键码->扫描码;1--扫描码->虚拟键码;2-虚拟键码->ASCII值(未加Shift组合键)。


    .DLL命令 CreateServiceA, 整数型, "advapi32.dll", "CreateServiceA", , 创建服务,创建服务
        .参数 hSCManager, 整数型, , SCM句柄OpenSCManager返回值
        .参数 lpServiceName, 文本型, , 指向一个以0字符结尾的表示服务名称的字符串,字符串的最大长度是256个字符字符串的最大长度是256个字符,名称中不允许使用/或者\字符(因为这些字符会和注册表的路径表示方式冲突),这个值和注册表中的键名是相对应的
        .参数 lpDisplayName, 文本型, , 指向一个以0字符结尾表示服务名称的字符串,这个名称是供用户界面程序识别函数时使用的,同样,它的最大长度也是256个字符。这个值和注册表中的DisplayName键的值是相对应的
        .参数 dwDesiredAccess, 整数型, , 指定需要访问服务的操作可以有以下取值:SERVICE_ALL_ACCESS--可以进行所有操作SERVICE_START--允许调用StartService函数来启动服SERVICE_STOP--允许调用ControlService函数来停止服务DELETE--允许调用DeleteService函数来删除服务
        .参数 dwServiceType, 整数型, , 服务的类型我们的教程中只用得到SERVICE_KERNEL_DRIVER,这个值和注册表中的Type键的值是相对应的
        .参数 dwStartType, 整数型, , 表示在什么时候启动服务,如果我们需要手动启动驱动的话,那么使用SERVICE_DEMAND_START参数,如果驱动程序需要在系统启动的时候就被启动,那么使用SERVICE_AUTO_START参数,这个取值和注册表中的Start键的取值是相对应的
        .参数 dwErrorControl, 整数型, , 表示当驱动初始化的时候出错该如何处理,取值SERVICE_ERROR_IGNORE表示忽略错误,取值SERVICE_ERROR_NORMAL表示将错误记录到系统日志中去,这个取值和注册表中的ErrorControl键值是相对应的
        .参数 lpBinaryPathName, 文本型, , 指向以0结尾的表示驱动程序文件名的字符串,这个值和注册表中的ImagePath的键值是相对应的
        .参数 lpLoadOrderGroup, 整数型, , 指向以0结尾的表示组名称的字符串,表示该驱动属于哪个组,既然我们的例子程序不属于任何组,那么这里就用NULL好了
        .参数 lpdwTagId, 整数型, , 指向一个32位的缓冲区,用来接收驱动在lpLoadOrderGroup参数指定的组中的唯一的标识,我们的例子中不需要用到这个表示,所以参数指定为NULL
        .参数 lpDependencies, 整数型, , 对于驱动程序来说,这个参数没什么用途,设置为NULL好了
        .参数 lpServiceStartName, 整数型, , 指向一个以0结尾的表示帐号名称的字符串,用于指定服务允许在哪个帐号下运行,如果服务类型是SERVICE_KERNEL_DRIVER的话,该帐号就是系统装入服务的模块名称,我们在这里使用NULL,表示由默认的模块装入
        .参数 lpPassword, 整数型, , 对于驱动程序来说,这个参数没什么用途,设置为NULL好了


    .DLL命令 OpenServiceA, 整数型, "advapi32.dll", "OpenServiceA", , 打开服务,
        .参数 hSCManager, 整数型, , 由CreateServiceA返回的句柄
        .参数 lpServiceName, 文本型, , 服务名称
        .参数 dwDesiredAccess, 整数型, , 983551指定需要访问服务的操作


    .DLL命令 StartServiceA, 整数型, "advapi32.dll", "StartServiceA", , 开始启动系统服务,开始运行服务
        .参数 服务句柄, 整数型, , CreateService返回的驱动的句柄
        .参数 dwNumServiceArgs, 整数型, , 0
        .参数 lpServiceArgVectors, 整数型, , 0


    .DLL命令 CloseServiceHandle, 整数型, "advapi32.dll", "CloseServiceHandle", , 关闭SC服务管理句柄_,
        .参数 SC对象句柄, 整数型, , 由OpenSCManagerA和CreateServiceA返回的句柄关闭时应关闭两个


    .DLL命令 CreateFileA, 整数型, "kernel32.dll", "CreateFileA", , 创建文件_,这是一个全功能的例程可打开和创建文件、管道、邮槽、通信服务、设备以及控制台 ——返回值:如执行成功则返回文件句柄.INVALID_HANDLE_VALUE表示出错会设置GetLastError.即使函数成功但若文件存在且指定了CREATE_ALWAYS 或 OPEN_ALWAYSGetLastError也会设为ERROR_ALREADY_EXISTS 例子:查看例程API程序自杀
        .参数 打开文件名, 文本型, , lpFileName要打开的文件的名字
        .参数 访问权限, 整数型, , dwDesiredAccess如果为 GENERIC_READ 表示允许对设备进行读访问;如果为 GENERIC_WRITE 表示允许对设备进行写访问(可组合使用);如果为零表示只允许获取与一个设备有关的信息
        .参数 共享方式, 整数型, , dwShareMode
        .参数 security特性, 整数型, , lpSecurityAttributes是指向SECURITY_ATTRIBUTES结构的指针,指定了目录的security属性,但要求文件系统支持如NTFS的格式。Windows 98不支持此属性,在函数调用时应设置为NULL
        .参数 创建方式, 整数型, , dwCreationDispositiondwCreationDisposition Long下述常数之一:
        .参数 文件属性, 整数型, , dwFlagsAndAttributesdwFlagsAndAttributes Long一个或多个下述常数
        .参数 从文件复制文件属性, 整数型, , hTemplateFile如果不为零则指定一个文件句柄.新文件将从这个文件中复制扩展属性


    .DLL命令 ControlService, 整数型, "advapi32.dll", "ControlService", , 停止系统服务_,用来停止系统服务
        .参数 hService, 整数型, , 用 OpenService 返回的句柄
        .参数 dwControl, 整数型, , 用于驱动程序的时候,这个参数总是设置为NULL
        .参数 lpServiceStatus, SERVICE_STATUS, 传址, 同上,也为NULL


    .DLL命令 OpenSCManagerA, 整数型, "advapi32.dll", "OpenSCManagerA", , 打开SC管理服务_,建立服务首先应用此函数打开然后再用OpenServiceA打开服务获得服务控制管理器数据库的句柄
        .参数 机器名称, 文本型, , lpMachineName用取本机名取得就是本机的名称指向需要打开的计算机名字符串,字符串以NULL结尾,如果参数指定为NULL,表示连接到本机上的SCM
        .参数 数据库名, 文本型, , lpDatabaseName指向以NULL结尾的包含SCM数据库名称的字符串,字符串应该指定为"ServicesActive",如果参数指定为NULL,则默认打开"ServicesActive"
        .参数 数据库, 整数型, , dwDesiredAccess指定访问SCM的权限,这个参数告诉SCM我们需要进行什么样的操作,常用的取值有三个:SC_MANAGER_CREATE_SERVICESC_MANAGER_CREATE_SERVICESC_MANAGER_ALL_ACCESS


    .DLL命令 DeleteService, 整数型, "advapi32.dll", "DeleteService", , 删除服务,成功返回0失败返回非0
        .参数 hService, 整数型, , OpenSCManager的数据库句柄


    .DLL命令 取指针_字节集, 整数型, , "lstrcpyn"
        .参数 欲取其指针, 字节集, 传址
        .参数 欲取其指针, 字节集, 传址
        .参数 保留, 整数型, , 0


    .DLL命令 DeviceIoControl, 整数型, "kernel32.dll", "DeviceIoControl", , 设备操作_,对设备执行指定的操作
        .参数 设备句柄, 整数型, , hDevice设备句柄
        .参数 控制参数, 整数型, , dwIoControlCode带有 FSCTL_ 前缀的常数.参考设备控制选项的部分列表设备控制选项的部分列表——参考DeviceIoControl函数
        .参数 参数一, 整数型, , lpInBuffer具体取决于dwIoControlCode参数.参考设备控制选项的部分列表
        .参数 参数二, 整数型, , nInBufferSize输入缓冲区的长度
        .参数 参数三, , , lpOutBuffer Anyany型根据实际需要修改 具体取决于dwIoControlCode参数.参考设备控制选项的部分列表
        .参数 参数四, 整数型, , nOutBufferSize输出缓冲区的长度
        .参数 缓冲区字节数, 整数型, , lpBytesReturned实际装载到输出缓冲区的字节数量
        .参数 OVERLAPPED结构地址, 重叠操作_, , lpOverlappedOVERLAPPED这个结构用于重叠操作.针对同步操作请用ByVal As Long传递零值


    .DLL命令 取指针_字节, 整数型, , "lstrcpyn"
        .参数 欲取其指针, 字节型, 传址
        .参数 欲取其指针, 字节型, 传址
        .参数 保留, 整数型, , 0


    .DLL命令 CloseHandle, 整数型, "kernel32", "CloseHandle", , 关闭内核对象_,关闭一个内核对象.其中包括文件、文件映射、进程、线程、security和同步对象等.涉及文件处理时这个函数通常与vb的close命令相似.应尽可能的使用close因为它支持vb的差错控制.注意这个函数使用的文件句柄与vb的文件编号是完全不同的  非零表示成功零表示失败.会设置GetLastError ——注解:除非对内核对象的所有引用都已关闭否则该对象不会实际删除
        .参数 对象句柄, 整数型, , 欲关闭的一个对象的句柄;


    调用的DLL命令:


    .DLL命令 lstrcpyn_内存结构, 整数型, "kernel32.dll", "lstrcpyn", , 取内存变量地址2_,
        .参数 数据1, 内存结构, 传址, lpString1
        .参数 数据2, 内存结构, 传址, lpString2
        .参数 数据长度, 整数型, , iMaxLength


    .DLL命令 lstrcpyn_字节集, 整数型, , "lstrcpyn", 公开, 取变量地址
        .参数 欲取其指针, 字节集, 传址
        .参数 欲取其指针, 字节集, 传址
        .参数 保留, 整数型, , 0


    .DLL命令 lstrcpyn_整数, 整数型, , "lstrcpyn", 公开, 取变量地址
        .参数 欲取其指针, 整数型, 传址
        .参数 欲取其指针, 整数型, 传址
        .参数 保留, 整数型, , 0


    .DLL命令 GetCurrentProcessId, 整数型, "kernel32.dll", "GetCurrentProcessId", , 取当前进程ID_,获取当前进程一个唯一的标识符

    相关软件

    下载说明

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

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

     

    推荐排行

    • 易语言卷帘工具箱源码

      易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...

    • 易语言仅用核心支持库实

      易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...

    • 易语言仅用核心支持库实

      易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...

    • 易语言仅用核心支持库实

      易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...

    • 易语言两个文件内存中通

      易语言两个文件内存中通讯源码,子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错...

    • 易语言易模块管理器Incl

      易语言易模块管理器Include目录源码,CopyTo_CreateProcessDebugInfo,CopyTo_CreateThreadDebugInfo,CopyTo_ExitThreadDebugInfo,CopyTo_ExitProcessDebugInfo,CopyTo_LoadDllDebugInfo,CopyTo_UnloadDllDebugInfo,CopyTo_ExceptionDebugInfo,Copy...

    • 易语言卷帘工具箱源码

      易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...

    • 文件读写和文件映射模块

      子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错误信息,读入字节集,读入2M字节集,清除文件缓冲区,读入文本,写出文本,写文本行,读入一行,插入字节集,取文件号...

    • 怪怪专用工具箱

      初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...