易语言制作UAC管理员模式添加器

DLL命令表

.版本 2
.DLL命令 BeginUpdateResource, 整数型, "kernel32.dll", "BeginUpdateResourceA"
  .参数 pFileName, 文本型
  .参数 bDeleteExistingResources, 逻辑型
.DLL命令 UpdateResource, 逻辑型, "kernel32.dll", "UpdateResourceA"
  .参数 hUpdate, 整数型
  .参数 lpType, 整数型
  .参数 lpName, 整数型
  .参数 wLanguage, 整数型
  .参数 lpData, 整数型
  .参数 cbData, 整数型
.DLL命令 EndUpdateResource, 逻辑型, "kernel32.dll", "EndUpdateResourceA"
  .参数 hUpdate, 整数型
  .参数 fDiscard, 逻辑型
.DLL命令 FindResource, 整数型, "kernel32.dll", "FindResourceA"
  .参数 hModule, 整数型
  .参数 lpName, 整数型
  .参数 lpType, 整数型

常量数据表

常量名称 Manifest清单数据
常量值
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="">
<assemblyIdentity version="1.0.0.0" name=".add"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
  <security>
   <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
    <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
   </requestedPrivileges>
  </security>
</trustInfo>
</asmv1:assembly>

UAC管理员模式添加器

此功能需要加载Ex_DirectUI 2.0模块

.版本 2
.支持库 edroptarget
.支持库 iconv
.支持库 spec
.程序集 窗口程序集
.程序集变量 DUI, Ex_DirectUI
.程序集变量 分组框, 分组框_Ex
.程序集变量 标签, 标签_Ex
.程序集变量 编辑框, 编辑框_Ex
.程序集变量 按钮, 按钮_Ex, , "2"
.子程序 __启动窗口_创建完毕
DUI.挂接皮肤 (取窗口句柄 (), , 取字节集数据 ({ 70, 185, 240 }, #整数型, ), , , , #外形方式_矩形)
分组框.创建 (取窗口句柄 (), 12, 32, 356, 66, , , , , , , , , RGB2ARGB (#白色, 190), , #外形方式_矩形, )
标签.创建 (取窗口句柄 (), 18, 42, 100, 20, “请选择PE文件:”)
编辑框.创建 (取窗口句柄 (), 108, 40, 194, 20, , , , , , , , , #输入方式_只读方式)
按钮 [1].创建 (取窗口句柄 (), 308, 40, 50, 21, “...”)
按钮 [2].创建 (取窗口句柄 (), 22, 68, 336, 21, “ 一键向PE文件添加UAC(可拖入PE文件至本窗口)”)
按钮 [2].图标 (#添加图标)
按钮 [1].挂接事件 (#事件_左键按下, &按钮1_被左键按下)
按钮 [2].挂接事件 (#事件_左键按下, &按钮2_被左键按下)
拖放对象.注册拖放控件 (取窗口句柄 ())
.子程序 按钮1_被左键按下
.如果真 (通用对话框.打开 () = 真)
  编辑框.内容 (通用对话框.文件名)
.如果真结束
.子程序 按钮2_被左键按下
.如果真 (编辑框.内容 () = “”)
  信息框_Ex (取窗口句柄 (), “一键向PE文件添加UAC(可拖入PE文件至本窗口)!”, #确认钮, “提示”, #信息图标)
  返回 ()
.如果真结束
.如果 (更新Manifest清单 (编辑框.内容 (), 编码转换 (到字节集 (#Manifest清单数据), #编码_char, #编码_UTF_8, )))
  信息框_Ex (取窗口句柄 (), “向指定PE文件添加UAC成功!”, #确认钮, “提示”, #信息图标)
.否则
  信息框_Ex (取窗口句柄 (), “向指定PE文件添加UAC失败!”, #确认钮, “提示”, #错误图标)
.如果结束
.子程序 _拖放对象_得到文件
.参数 接收到的文件路径, 文本型
.如果 (到小写 (取文件格式 (接收到的文件路径)) = “exe”)
  编辑框.内容 (接收到的文件路径)
.否则
  信息框_Ex (取窗口句柄 (), “请拖放PE文件到本窗口!”, #确认钮, “提示”, #错误图标)
.如果结束
.子程序 取文件格式, 文本型
.参数 文件名, 文本型
返回 (取文本右边 (文件名, 取文本长度 (文件名) - 倒找文本 (文件名, “.”, , 假)))
.子程序 更新Manifest清单, 逻辑型
.参数 PE文件路径, 文本型
.参数 清单数据, 字节集
.局部变量 hUpdate, 整数型
.局部变量 hModule, 整数型
.局部变量 ret, 逻辑型
hUpdate = BeginUpdateResource (PE文件路径, 假)
hModule = GetModuleHandle (PE文件路径)
.如果真 (FindResource (hModule, 1, 24) ≠ 0) ' 判断PE文件是否存在Manifest清单
  UpdateResource (hUpdate, 24, 1, 0, 0, 0) ' 删除PE文件中的Manifest清单
.如果真结束
UpdateResource (hUpdate, 24, 1, 2052, 取变量数据地址 (清单数据), 取字节集长度 (清单数据)) ' 加入UAC的清单数据
ret = EndUpdateResource (hUpdate, 假)
.如果真 (ret = 假)
  hUpdate = BeginUpdateResource (PE文件路径, 假)
  UpdateResource (hUpdate, 24, 1, 2052, 取变量数据地址 (清单数据), 取字节集长度 (清单数据))
  ret = EndUpdateResource (hUpdate, 假)
.如果真结束
CloseHandle (hModule)
返回 (ret)

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 易语言调用GetUserPassWord.dll获取系统开机密码

    DLL命令表 .版本 2 .DLL命令 取开机密码, 文本型, "GetUserPassWord.dll", "GetUserPassWord", 公开 获取系统登录密码的代码 .版本 2 .程序集 窗口程序集1 .子程序 获取开机, 文本型 .局部变量 密码, 文本型 .局部变量 帐号, 文本型 .局部变量 最终文本, 文本型 帐号 = 读环境变量 ("USERNAME") 密码 = 取电脑开机密码 () 最终文本 = "密码类型:开

  • 易语言制作二维码生成器

    DLL命令表 .版本 2 .DLL命令 二维码_外形设置, , "QRCodeWin32.dll", "QRAppearance" .参数 模块尺寸, 双精度小数型 .参数 方向, 整数型 .参数 边框, 整数型 .DLL命令 二维码_编码参数, , "QRCodeWin32.dll", "QRConfigure" .参数 版本, 整数型 .参数 纠错级别, 整数型 .参数 掩膜, 整数型 .DLL命令 二维码_默认设置, ,

  • 易语言自动识别快递公司查件免验证码的代码

    常量数据表 .版本 2 .常量 快递单号前, "<文本长度: 13>", , [{"comCode":" .常量 快递单号后, "<文本长度: 9>", , ","id":"" 快递查询自动识别快递公司无验证码 此功能需要加载精易模块5.6 .版本 2 .程序集 窗口程序集_启动窗口 .子程序 __启动窗口_创建完毕 .子程序 _查询按钮_被单击 .局部变量 提交

  • 易语言实现无需加好友强制查看QQ资料卡片的方法

    调用腾讯的弹出QQ资料卡片接口实现强制查看QQ资料卡片的功能 .版本 2 .支持库 shell .程序集 窗口程序集_启动窗口 .子程序 _查看资料按钮_被单击 执行 (, "tencent://ContactInfo/?subcmd=ViewInfo&puin=0&uin=" + QQ号编辑框.内容, , , ) 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查

  • 易语言酷我音乐三种格式无损下载地址解析源码

    DLL命令表 .版本 2 .DLL命令 CoInitialize, 整数型, "ole32.dll", , 公开, 初始化对象开始 .参数 pvReserved, 整数型, , 0 .DLL命令 CoUninitialize, 整数型, "ole32.dll", , 公开, 初始化对象结束 .DLL命令 ShellExecute, 整数型, "shell32.dll", "ShellExecuteA" .参数 hwnd, 整数

  • 易语言修改软件版权信息的工具

    DLL命令表 .版本 2 .DLL命令 BeginUpdateResource, 整数型, , "BeginUpdateResourceA" .参数 pFileName, 文本型 .参数 bDeleteExistingResources, 逻辑型 .DLL命令 EndUpdateResource, 逻辑型, , "EndUpdateResourceA" .参数 hUpdate, 整数型 .参数 fDiscard, 逻辑型 .DLL命令 UpdateResource,

  • 易语言QQ群发支持图片文字数据一起发送的工具

    DLL命令表 .版本 2 .DLL命令 OpenClipboard, 逻辑型, "user32", "OpenClipboard", , 打开CLIPBOARD .参数 hwnd, 整数型 .DLL命令 GetClipboardData, 整数型, "user32", "GetClipboardData", , 返回剪贴板数据的句柄 .参数 wFormat, 整数型 .DLL命令 RegisterClipboardFormat

  • 易语言使用超文本显示新浪天气预报的代码

    常量数据表 .版本 2 .常量 v1, "<文本长度: 24>", , <p class="inx_w_city_c"> .常量 K, "<文本长度: 8>", , url=http .常量 J, "<文本长度: 47>", , <a href="http://share.sina.cn/callback?content= .常量 v2, "<文本

  • 易语言使用动画框做消除游戏的代码

    全局变量表 .版本 2 .全局变量 得分总和, 整数型 .全局变量 最高得分, 整数型 .全局变量 关卡, 整数型 利用动画框做的一个消除游戏 .版本 2 .支持库 iext2 .支持库 iext .程序集 窗口程序集1 .程序集变量 标识1, 整数型, , "100" .程序集变量 角度, 整数型 .程序集变量 是否开始, 逻辑型 .子程序 初始化 .局部变量 a, 整数型 .局部变量 b, 整数型 .局部变量 C, 整数型 .局部变量 d, 整数型 置随机数种子 () d = 1

  • 易语言制作QQ前台全自动无限加好友的代码

    全局变量表 .版本 2 .全局变量 局_句柄, 整数型 .全局变量 a, 整数型 .全局变量 局1_句柄, 整数型 .全局变量 b, 整数型 常量数据表 .版本 2 .常量 GW_CHILD, "5", , 查找子窗口 .常量 GW_HWNDNEXT, "2", , 查找下一窗口 QQ前台全自动加好友 此功能需要加载精易模块5.6,利用模拟的方式添加好友,需要自行打开添加窗口,填写自己的QQ名称. .版本 2 .支持库 spec .程序集 窗口程序集_启动窗口 .子

  • 易语言调用百度的真相问答制作真相问答机的代码

    全局变量表 .版本 2 .全局变量 源文件, 文本型 .全局变量 答案, 文本型 常量数据表 .版本 2 .常量 常量1, "<文本长度: 9>", , -middle"> .常量 常量2, "<文本长度: 7>", , </span> .常量 常量3, "<文本长度: 7>", , proof"> .常量 常量4, "<文本长度: 7>&quo

  • 易语言制作网截抓包工具的代码

    常量数据表 .版本 2 .常量 编码常量, "<文本长度: 10797>", , 名称:编码_GB2312 英文名称:Encoding_GB2312 类型:文本型 值:"GB2312" 列举各种编码类型 全局变量表 .版本 2 .全局变量 系统配置路径, 文本型 网截抓包工具 .版本 2 .支持库 eNetIntercept .支持库 eGrid .支持库 iconv .支持库 iext .支持库 iext2 .程序集 主程序集 .程序集变量 服务安装,

  • 易语言获取已登录的QQ号码以及名称的方法

    取登陆QQ号以及名称的代码 此功能需要加载精易模块5.6 .版本 2 .程序集 窗口程序集_启动窗口 .程序集变量 网页填表, 普通填表 .子程序 _读取按钮_被单击 .局部变量 数量, 文本型 .局部变量 i, 整数型 .局部变量 QQ, 文本型 .局部变量 名称, 文本型 显示选择列表框.清空 () 网页填表.初始化 (超文本浏览框1.取窗口句柄 ()) 数量 = 到文本 (网页填表.ULLI_取数量 ()) .计次循环首 (到整数 (数量), i) QQ = 到文本 (文本_取出中间文本

  • 易语言Ex_DirectUI自绘扫雷游戏源码

    MineMartix .版本 2 .支持库 spec .程序集 MineMartix, Ex_控件基类, , ExDUI扩展组件_扫雷按钮 .程序集变量 m_颜色, 整数型 .程序集变量 m_透明度, 整数型 .程序集变量 m_Rect, RectF .程序集变量 m_hIcon, 整数型, , , 图像句柄 .程序集变量 m_单击回调指针, 整数型 .程序集变量 m_Mine, 逻辑型 .程序集变量 m_Pos, PointF .程序集变量 m_Num, 整数型, , , 周围雷数量 .程序集

  • 易语言统计代码行数与API的工具

    DLL命令表 .版本 2 .DLL命令 FindWindowEx, 整数型, "user32", "FindWindowExA", , 在窗口列表中寻找与指定条件相符的第一个子窗口 找到的窗口的句柄.如未找到相符窗口,则返回零.会设置GetLastError .参数 hWnd1, 整数型, , 在其中查找子的父窗口.如设为零,表示使用桌面窗口(通常说的顶级窗口都被认为是桌面的子窗口,所以也会对它们进行查找) .参数 hWnd2, 整数型, , 从这个窗口后开始查找.

随机推荐