共享内存读写重复运行检测
系统结构:L_重复运行,L_写共享内存,L_读共享内存,检测内存,Z_共享内存_CreateFileMappingA,Z_共享内存_OpenFileMappingA,Z_共享内存_MapViewOfFile,Z_共享内存_CloseHandle,Z_共享内存_UnmapViewOfFile,Z_共享内存_拷贝内存_文本,L_A_取自进程ID,
======程序集1
| |
| |------ _启动子程序
| |
| |
======窗口程序集1
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
======程序集1
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ L_重复运行
| |
| |------ L_写共享内存
| |
| |------ L_读共享内存
| |
| |------ 检测内存
| |
| |
======调用的Dll
| |
| |---[dll]------ Z_共享内存_CreateFileMappingA
| |
| |---[dll]------ Z_共享内存_OpenFileMappingA
| |
| |---[dll]------ Z_共享内存_MapViewOfFile
| |
| |---[dll]------ Z_共享内存_CloseHandle
| |
| |---[dll]------ Z_共享内存_UnmapViewOfFile
| |
| |---[dll]------ Z_共享内存_拷贝内存_文本
| |
| |---[dll]------ L_A_取自进程ID
调用的DLL命令:
.DLL命令 Z_共享内存_CreateFileMappingA, 整数型, "kernel32.dll", "CreateFileMappingA"
.参数 文件映射句柄, 整数型, , 指定欲在其中创建映射的一个文件句柄。&HFFFFFFFF&表示在内存中创建一个文件映射
.参数 security对象, 整数型, , SECURITY_ATTRIBUTES,指定一个security对象,在创建文件映射时使用。如果为NULL(用ByVal As Long传递零),表示使用默认security对象
.参数 打开映射方式, 整数型, , 下述常数之一:;PAGE_READONLY:以只读方式打开映射;PAGE_READWRITE:以可读、可写方式打开映射;PAGE_WRITECOPY:为写操作留下备份可组合使用下述一个或多个常数;SEC_COMMIT:为文件映射一个小节中的所有页分配内存;SEC_IMAGE:文件是个可执行文件;SEC_RESERVE:为没有分配实际内存的一个小节保留虚拟内存空间
.参数 文件映射最大长度, 整数型, , 文件映射的最大长度(高32位)
.参数 文件映射的最小长度, 整数型, , 文件映射的最小长度(低32位)。如这个参数和dwMaximumSizeHigh都是零,就用磁盘文件的实际长度
.参数 映射对象名, 文本型, , 指定文件映射对象的名字。如存在这个名字的一个映射,函数就会打开它。用vbNull创建一个无名的文件映射;
.DLL命令 Z_共享内存_OpenFileMappingA, 整数型, "kernel32.dll", "OpenFileMappingA"
.参数 常数, 整数型, , 带有前缀FILE_MAP_???的一个常数。参考MapViewOfFile函数的dwDesiredAccess参数的说明
.参数 进程继承, 逻辑型, , 如这个函数返回的句柄能由当前进程启动的新进程继承,则这个参数为TRUE
.参数 文件映射对象名称, 文本型, , 指定要打开的文件映射对象名称;
.DLL命令 Z_共享内存_MapViewOfFile, 整数型, "kernel32.dll", "MapViewOfFile", , 将一个文件映射对象映射到当前应用程序的地址空间。MapViewOfFileEx允许我们指定一个基本地址来进行映射 文件映射在内存中的起始地址。零表示出错。会设置GetLastError
.参数 hFileMappingObject, 整数型
.参数 dwDesiredAccess, 整数型
.参数 dwFileOffsetHigh, 整数型
.参数 dwFileOffsetLow, 整数型
.参数 dwNumberOfBytesToMap, 整数型
.DLL命令 Z_共享内存_CloseHandle, 逻辑型, "kernel32.dll", "CloseHandle"
.参数 对象句柄, 整数型, , 欲关闭的一个对象的句柄;
.DLL命令 Z_共享内存_UnmapViewOfFile, 逻辑型, "kernel32.dll", "UnmapViewOfFile", , 在当前应用程序的内存地址空间解除对一个文件映射对象的映射 非零表示成功,零表示失败。会设置GetLastError
.参数 lpBaseAddress, 整数型, , 指定要解除映射的一个文件映射的基准地址。这个地址是早先用MapViewOfFile函数获得的;
.DLL命令 Z_共享内存_拷贝内存_文本, , "kernel32.dll", "RtlMoveMemory"
.参数 目标数据, 整数型, , any
.参数 原数据, 文本型, 传址, any
.参数 尺寸, 整数型
.DLL命令 L_A_取自进程ID, 整数型, "kernel32.dll", "GetCurrentProcessId", 公开
易语言类似易的KEY注册验证和KEY生成模块源码,生成钥匙文件,文本加密,钥匙文件注册,十六进制到十进制,文本解密...
易语言简易版超级列表框加入超链接源码,超级列表框置超链接,SendMessage_...
易语言监控tcp连接后续删除连接源码,GetPort,GetAscIP,API_GetTcpTable,API_LocalSize,API_CopyMemory,API_inet_ntoa,API_lstrlen,API_ntohs,API_SetTcpEntry...
易语言监控TCP连接API源码,GetPort,GetAscIP,API_GetTcpTable,API_LocalSize,API_CopyMemory,API_inet_ntoa,API_lstrlen,API_ntohs...
易语言电影信息采集器金牛报喜交流源码,采集信息,提取网页信息,读取海报...
易语言清除cookies模块源码,清空cookies,清空history,清空cache,清空cache文件,列出对应项目,清除项目,InternetSetOption,FindFirstUrlCacheEntry,FindNextUrlCacheEntry,FindCloseUrlCache,DeleteUrlCacheEntry...
易语言注册表监视源码,CreateEvent,RegOpenKeyEx,RegCloseKey,CloseHandle,RegNotifyChangeKeyValue,WaitForSingleObject,WaitForMultipleObjects...
易语言歌词同步源码,载入字幕文件,同步,滚动字幕...
易语言本地修改QQ群群公告源码,搜索QQ号,搜索QQ群,获取群公告,更改群公告...