有时候需要仿照另一个程序实现一些对话框,比较笨的办法是打开那个程序,照着样子自己在VC里面画啊画。这样的效率实在有点低。

现在有很多工具可以从exe和dll里面取出图片、图片、字符串、对话框等资源。比如ResEdit,在指定include目录之后,可以直接把dialog资源反编译成MFC可用的格式,比如:

//
// Dialog resources
//
LANGUAGE 9, SUBLANG_DEFAULT
1 DIALOG 34, 22, 222, 99
STYLE DS_MODALFRAME | DS_SETFONT | WS_CAPTION | WS_POPUP | WS_SYSMENU
CAPTION "About My Control"
FONT 10, "System"
{
ICON 1, 65535, 10, 10, 20, 20, SS_ICON, WS_EX_LEFT
LTEXT "My Control 3.35", 65535, 39, 13, 134, 8, SS_LEFT, WS_EX_LEFT
LTEXT "My Inc. 1998", 65535, 39, 37, 160, 8, SS_LEFT, WS_EX_LEFT
DEFPUSHBUTTON "OK", 1, 183, 7, 32, 14, WS_GROUP, WS_EX_LEFT
LTEXT "Email Address: support@mmm.com.cn", 65535, 39, 48, 136, 8, SS_LEFT, WS_EX_LEFT
LTEXT "(Contact us if you have any comment)", 65535, 39, 59, 166, 8, SS_LEFT, WS_EX_LEFT
LTEXT "Web Site (USA): http://www.my.com", 65535, 39, 71, 168, 8, SS_LEFT, WS_EX_LEFT
LTEXT "Web Site (China) : http://www.my.com.cn", 65535, 38, 82, 177, 8, SS_LEFT, WS_EX_LEFT
}

比自己画对话框快了很多。

获取exe和dll里面的资源的更多相关文章

  1. C# 获取exe、dll中的图标,支持获取256x256分辨率

    在网上找过许多文章,都没有成功获取过大图标,只能获取最大32x32.最后自己尝试了相关的windows api,终于找到一个可用的. 主要用到的C++的PrivateExtractIcons函数,具体 ...

  2. C# .exe和.dll文件图标资源提取工具

    Windows 可执行文件(.exe)和动态库文件(.dll)图标资源提取工具 GitHub 功能 图标资源预览 图标资源导出(仅支持导出 PNG 格式) 代码 获取图标资源使用了 Win32 API ...

  3. VC++ 获取exe或者dll版本信息

    #include <iostream> #include <atlstr.h> #pragma comment(lib,"version.lib") CSt ...

  4. MFC的dll中控制资源问题

    有程序EXE和DLL,其中DLL中有1个函数用来显示对话框,被EXE调用.当EXE和DLL都为Release或Debug时,没有任何问题,但EXE为Release.DLL为Debug时,就会出错.该D ...

  5. C++ Builder创建和调用dll中的资源

    程序开发中经常会用到一些图标.图片.光标.声音等,我们称它们为资源(Resource).当多个窗口用到同样的资源时,可以将这些公共的资源放到一个dll文件里调用,这样,由于定位资源比在磁盘中定位文件花 ...

  6. 有关windows系统的EXE和DLL文件说法错误

    正确答案: B C   你的答案: C (错误) EXE和DLL文件都是PE文件 EXE不能有导出函数,DLL可以有导出函数 EXE有x86和x64之分,则DLL没有 EXE可以单独运行,DLL则不行 ...

  7. duilib入门之贴图描述、类html文本描述、动态换肤、Dll插件、资源打包

    转载自duilib入门文档 贴图描述: Duilib的表现力丰富很大程度上得益于贴图描述的简单强大.Duilib的贴图描述分为简单模式和复杂模式两种. 简单模式使用文件名做为贴图描述内容,在这种方式下 ...

  8. PE头的应用---插入代码到EXE或DLL文件中

    三.代码实现(DELPHI版本),采用第三种方式实现代码插入. 1. 定义两个类,一个用来实现在内存中建立输入表:一个用来实现对PE头的代码插入. DelphiCode: const MAX_SECT ...

  9. Qt技巧:Win7下打包发布Qt程序(解释的比较清楚,把exe和dll伪装合并成一个文件)

    转自:http://www.stardrad.com/blog/qt-5%E7%A8%8B%E5%BA%8F%E5%9C%A8windows%E4%B8%8A%E7%9A%84%E5%8F%91%E5 ...

随机推荐

  1. 如何高效的学习python

    如何高效的学习python 假设到目前为止你已经知道Python或有一些学习它的方法,但是如果你喜欢我发现的不用几个月的时间就能迅速掌握其要领的学习语言的方法,那么这篇文章是为你准备的. 要避免的学习 ...

  2. iOS 自定义 URL Scheme 完全指南

    http://www.cocoachina.com/industry/20140522/8514.html “”   阅读器 自定义URL Scheme 本文转自Migrant的博客,原文:<T ...

  3. 写一个杀死Gradle Daemon的shell脚本和bat脚本

    1. Gradle Daemon也就是Gradle守护进程 Gradle需要运行在一个Java虚拟机中,每一次执行gradle命令就意味着一个新的Java虚拟机被启动,然后加载Gradle类和库,最后 ...

  4. fusion-io工具--更换fusion-ioSSD无法识别及升级指引

    centos6.5系统,(含fusion-io共7块盘)库存的fusion-io卡需要升级固件才能识别 现在只认到6个盘 fdisk -l 2>/dev/null | grep 'Disk /d ...

  5. SQLServer —— EXISTS子查询

    一.删除数据库 use master go if exists (select * from sysdatabases where name = 'Demo') drop database Demo ...

  6. jquery鼠标悬停突出显示

    在线演示 本地下载

  7. day40-Spring 01-上次课内容回顾

  8. oracle-17113错误

    Errors in file /oracle/OraHome1/admin/hncrm/udump/hncrm_ora_24470.trc: ORA-00600: internal error cod ...

  9. linux包之包管理rpm-yum

    背景 YUM(Yellow dog Updater, Modified)为多个Linux发行版的前端软件包管理器,例如 Redhat RHEL, CentOS & Fedora. YUM通过调 ...

  10. GIL锁更加深刻理解

    参考链接:http://www.cnblogs.com/ajaxa/p/9111884.html