易语言创建顽固的桌面图标源码
系统结构:创建顽固的桌面图标,GetModuleHandleA,GetProcAddress,RegOpenKeyExA,RegCreateKeyExA,RegSetValueExA,RegCloseKey,SHGetSpecialFolderPathA,MessageBoxA,
======程序集1
| |
| |------ _启动子程序
| |
| |------ 创建顽固的桌面图标
| |
| |
======调用的Dll
| |
| |---[dll]------ GetModuleHandleA
| |
| |---[dll]------ GetProcAddress
| |
| |---[dll]------ RegOpenKeyExA
| |
| |---[dll]------ RegCreateKeyExA
| |
| |---[dll]------ RegSetValueExA
| |
| |---[dll]------ RegCloseKey
| |
| |---[dll]------ SHGetSpecialFolderPathA
| |
| |---[dll]------ MessageBoxA
调用的DLL命令:
.DLL命令 GetModuleHandleA, 整数型, "kernel32", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError
.参数 lpModuleName, 文本型, , 指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD;
.DLL命令 GetProcAddress, 整数型, "kernel32", "GetProcAddress", , 返回函数地址
.参数 hModule, 整数型
.参数 lpProcName, 文本型
.DLL命令 RegOpenKeyExA, 整数型, "advapi32.dll", "RegOpenKeyExA", , 打开一个现有的项。在win32下推荐使用这个函数 零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
.参数 hKey, 整数型, , 一个已打开项的句柄,或指定一个标准项名
.参数 lpSubKey, 文本型, , 欲打开注册表项的名字
.参数 ulOptions, 整数型, , 未用,设为零
.参数 samDesired, 整数型, , 带有前缀KEY_??的一个或多个常数。它们的组合描述了允许对这个项进行哪些操作
.参数 phkResult, 整数型, 传址, 用于装载打开项的名字的一个变量;
.DLL命令 RegCreateKeyExA, 整数型, "advapi32.dll", "RegCreateKeyExA", , 在指定项下创建新项的更复杂的方式。在Win32环境中建议使用这个函数。如指定的项已经存在,则函数会打开现有的项 零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
.参数 hKey, 整数型, , 一个打开项的句柄,或者一个标准项名
.参数 lpSubKey, 文本型, , 欲创建的新子项的名字
.参数 Reserved, 整数型, , 设为零
.参数 lpClass, 整数型, , 项的类名
.参数 dwOptions, 整数型, , 下述常数为零:REG_OPTION_VOLATILE——这个项不正式保存下来,系统重新启动后会消失
.参数 samDesired, 整数型, , 带有前缀KEY_??的一个或多个常数。它们组合起来描述了允许对这个项进行哪些操作
.参数 lpSecurityAttributes, 整数型, , SECURITY_ATTRIBUTES,对这个项的security特性进行描述的一个结构(用ByVal As Long传递空值)。不适用于windows 95
.参数 phkResult, 整数型, 传址, 指定用于装载新子项句柄的一个变量
.参数 lpdwDisposition, 整数型, 传址, 用于装载下列某个常数的一个变量:REG_CREATED_NEW_KEY——新建的一个子项REG_OPENED_EXISTING_KEY——打开一个现有的项 ;
.DLL命令 RegSetValueExA, 整数型, "advapi32.dll", "RegSetValueExA", , 设置指定项的值 零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
.参数 hKey, 整数型, , 一个已打开项的句柄,或指定一个标准项名
.参数 lpValueName, 文本型, , 要设置值的名字
.参数 Reserved, 整数型, , 未用,设为零
.参数 dwType, 整数型, , 要设置的数量类型
.参数 lpData, 字节集, , 包含数据的缓冲区中的第一个字节
.参数 cbData, 整数型, , lpData缓冲区的长度;
.DLL命令 RegCloseKey, 整数型, "advapi32.dll", "RegCloseKey", , 关闭系统注册表中的一个项(或键) 零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
.参数 hKey, 整数型, , 要关闭的项;
.DLL命令 SHGetSpecialFolderPathA, 整数型, "shell32.dll", "SHGetSpecialFolderPathA"
.参数 hwnd, 整数型
.参数 pszPath, 文本型
.参数 csidl, 整数型
.参数 fCreate, 整数型
.DLL命令 MessageBoxA, 整数型, "user32", "MessageBoxA", , 建立消息框窗体
.参数 hwnd, 整数型
.参数 lpText, 文本型
.参数 lpCaption, 文本型
.参数 wType, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。