VC 纯资源DLL制作及调用

用VC纯资源dll制作多语言界面程序      由于MFC应用程序也有自己的资源文件,当你调用MFC函数比如 CString::LoadString 或其它 LoadIcon 时,MFC应用程序框架首先跟踪搜索EXE文件的资源,然后才是DLL和MFC的资源,因此在使用纯资源DLL时候,必须人为先改变资源的搜索顺序,可以通过使用 AfxSetResourceHandle 函数来实现,具体实现如下:BOOL CMultilanguag 阅读详情
纯资源 DLL 是仅包含资源(如图标、位图、字符串和对话框)的 DLL。使用纯资源 DLL 是在多个程序之间共享同一组资源的好方法。提供其资源被针对多种语言进行本地化的应用程序也是一种好方法。
若要创建纯资源 DLL,请创建一个新的 Win32 DLL(非 MFC)项目,并将资源添加到此项目。
  • 在“新建项目”对话框中选择“Win32 项目”,并在“Win32 项目向导”中指定 DLL 项目类型。

  • 为 DLL 创建一个包含资源(如字符串或菜单)的新资源脚本,并保存该 .rc 文件。如果该.rc文件包含位图用记事本打开它,可以看到下面这样的一段

  • DIB_BKGD_HF             BITMAP            "bkgd_**.bmp"
    DIB_BKGD_GT  BITMAP    "bkgd_***.bmp"
    DIB_BKGD_BF  BITMAP    "bkgd_*****.bmp"

  • 这些就是针对位图的申明,将相应的位图添加到这个里面就行了。

  • 在“项目”菜单上单击“添加现有项”,然后在项目中插入这个新的 .rc 文件。

  • 指定 /NOENTRY 链接器选项。/NOENTRY 防止链接器将 _main 引用链接到 DLL 中;此选项是创建纯资源 DLL 所必需的。

  • 生成 DLL。

使用纯资源 DLL 的应用程序应调用 LoadLibrary 来显式链接到 DLL。若要访问资源,请调用一般函数 FindResource 和 LoadResource,这两个函数对任何类型的资源都有效,或调用下列资源特定的函数之一:

  • FormatMessage

  • LoadAccelerators

  • LoadBitmap

  • LoadCursor

  • LoadIcon

  • LoadMenu

  • LoadString

使用完资源后,应用程序应调用 FreeLibrary。

下面部份是说明一下资源中的BMP如何动态加载并显示

    hmodule = LoadLibrary("ExtendDLL.dll");
    HDC   m_hdcMem;
    m_hdcMem = CreateCompatibleDC(hdc);
    BITMAP bm;
    RECT rect;

    HBITMAP    hBitmap =  LoadBitmap(hmodule,"DIB_BKGD_HF");   //MAKEINTRESOURCE(IDB_BITMAP1)
    //HBITMAP    hBitmap = ( HBITMAP )LoadImage( hmodule, "DIB_BKGD_HF",IMAGE_BITMAP,0,0,LR_DEFAULTSIZE);
    GetObject( hBitmap, sizeof BITMAP, &bm);
    SelectObject( m_hdcMem, hBitmap);
    GetClientRect( hWnd, &rect);
    //::SetStretchBltMode(hdc,COLORONCOLOR);
    //::StretchBlt(hdc, rect.left, rect.top, rect.right, rect.bottom, m_hdcMem, 0, 0, bm.bmWidth, bm.bmHeight,SRCCOPY);
    BitBlt(hdc,0,0,bm.bmWidth,bm.bmHeight,m_hdcMem,0,0,SRCCOPY);
    ReleaseDC( hWnd, m_hdcMem );
    FreeLibrary(hmodule);

 
VC客户端调用VB DLL的实践教程 在当今的软件开发领域,不同的编程语言往往以其独特的优点而被应用于不同的场景。比如,Python以其简洁易学的特性广泛应用于数据科学领域,Java则因其跨平台特性而成为企业级应用的首选。然而,在开发过程中,为了满足特定的功能需求、优化性能或是集成现有代码,开发人员常常需要将不同的编程语言结合起来,这就形成了跨语言编程的需求。跨语言编程能够在保持各自语言特性的同时,实现互补和资源共享,从而提升开发效率和软件质量。动态链接库(DLL)是Windows操作系统中一种实现代码复用和模块化程序设计的重要方式。 阅读详情

相关推荐

纯资源DLL(加载和调用)

用DLL装载资源,然后在EXE中调用。 在有多个进程进行资源共享的情况下,可以节约空间

纯资源DLL的编写

        纯资源的DLL就是只包含资源的DLL,例如:图标,位图,字符串,声音,视频,对话框等。使用纯资源DLL可以节约可执行文件的大小,可以被所有的应用程序所共享,从而提高系统性能。纯资源DLL的编写比普通的DLL要简单的多,首先创建一个WIN32 DLL工程,不是MFC的DLL,然后创建一个资源文件 *.RC,添加到资源DLL的工程中去。然后添加一个初始化DLL的原文件。#i

hooyong@林 679

纯资源DLL创建与使用

纯资源(.rc)DLL创建与使用源码,使用开发开台是VS2008.

纯资源DLL的编写[转]

 纯资源   DLL是仅包含资源(图标,位图,字符串,声音,视频,对话框等)的   DLL。使用纯资源DLL可以节约可执行文件的大小,可以被所有的应用程序所共享,从而提高系统性能。纯资源DLL的编写比普通的DLL要简单的多,使用纯资源   DLL   可用来在多个程序之间共享同一组资源以及对多种语言进行本地化的应用.    要创建纯资源   DLL    1.   应创建一个新的   Win32

狂人山庄 6548

VC在DLL中使用对话框资源

VC在DLL中使用对话框资源,VC调用DLL内的对话框资源。

编写纯资源DLL(图片,图标) vc动态链接库

vc编写纯资源DLL(图片,图标)

为VB6创建纯资源DLL(图片教程)

虽然vb可以把资源存在*.RES的资源文件里,一起编译成exe。但如果要换肤、多语言支持,显然DLL更方便 如何把图片、图标、自定义资源存放在DLL里面?下面我Step by Step教大家。 VB只能创建Activex DLL,所以用VC++创建纯正的DLL,这样的DLL无需注册(基于COM的才要注册)。下面以VC++ 6.0为例(VC++ 2005也差不多)。 1.打开VC++ 6.0,

zhongyhc的专栏 4781

SqlSugar避坑指南:C#操作MySQL时你可能会忽略的5个细节

本文分享了使用C#和SqlSugar框架操作MySQL数据库时的实战避坑指南。针对连接配置、实体映射、查询性能、事务处理等关键环节,深入剖析了5个容易被忽略但至关重要的细节,帮助开发者提升项目稳定性和执行效率,避免常见陷阱。

delta的博客 276

纯资源的DLL的编写概要

        纯资源的DLL就是只包含资源的DLL,例如:图标,位图,字符串,声音,视频,对话框等。使用纯资源DLL可以节约可执行文件的大小,可以被所有的应用程序所共享,从而提高系统性能。纯资源DLL的编写比普通的DLL要简单的多,首先创建一个WIN32 DLL工程,不是MFC的DLL,然后创建一个资源文件 *.RC,添加到资源DLL的工程中去。然后添加一个初始化DLL的原文件。#include

787

使用ExcelJS向XLSX单元格居中插入图片

本文记录了使用ExcelJS库向XLSX单元格里居中写入图片的方法。本文内容包括:xlsx 文件格式;xlsx 图片定位的长度单位;使用nativeColOff和nativeRowOff进行定位,不要使用官网给的定位方式;添加图片到数据表的总体流程和样例代码;注意事项等。

weixin_43678000的博客 3456

具身智能与空天具身智能:从理论到实践的AIBOX技术革命

本文深入探讨了具身智能从理论到实践的发展,重点介绍了AIBOX技术如何作为边缘智能计算模块,为无人机、机器人等无人系统提供可进化的“大脑”。文章通过空天具身智能等应用场景,阐述了AIBOX在实现感知、决策、行动一体化闭环中的核心作用,并展望了其在协同智能与规模化部署中的未来挑战与机遇。

lll78的博客 765

VB动态加载纯DLL资源

一、纯DLL资源的制作            打开VC6.0 创建一个基于win32的动态链接库 下一步中,要选择A sinmple Dll project             然后加载资源(注意对于超过256色的位图,VC不能编辑,不过这没关系)          可以加载位图、图标、字符串等,这是加载后的情况   资源添加

刘洪峰AIoT | 一叶启帆·万物智联 1万+

【部署】Ubuntu 24.04.4虚拟机下部署OpenClaw

OpenClaw是一款基于AI的智能助手工具,本文详细介绍了在Ubuntu 24.04.4系统上的三种安装方法。推荐使用一键安装脚本(curl -fsSL https://openclaw.ai/install.sh | bash),自动完成Node.js检测、CLI安装和引导配置。对于开发者,提供了从源码构建的详细步骤,包括环境准备、依赖安装和构建流程。文章还包含常见问题解决方案(如sharp构建错误处理)以及后续维护建议(更新、配置检查和日志查看)。安装完成后,用户可通过终端TUI或Web UI进行初始

海兰 1万+

VC 制作纯资源 DLL

在制做前请先备份好你的程序!!!有时候程序需要很多的BMP或其他资源,这样将资源加入程序后,EXE文件就会很大。这时我们就可以将程序中的资源打包成一个纯资源DLL。(原来程序 XXApp, 纯资源程序 XXDLL)纯资源DLL文件实现步骤如下:       (1)新建立工程XXDLL。使用Projects的Win32 Dynamic-Link Library创建纯资源dll工程(也就是空的工程),

众阅小楼 2489

QT实现ftp服务器(附完整源码)

QT实现ftp服务器(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1783

42页Claude 3技术报告解读(Opus, Sonnet, Haiku)

在Claude 3模型中,增加了一个额外的原则到Claude的宪法中,以鼓励尊重残疾人权利,这一原则源自对集体宪法AI的研究。Claude 3模型的训练基于专有的混合数据集,包括截至2023年8月互联网上公开可用的信息,以及第三方提供的非公开数据、数据标注服务和付费承包商提供的数据,还有内部生成的数据。这些初始响应通常包含有害和有毒的内容。Claude 3模型家族在推理、编码和问答任务上展现出卓越的性能,特别是在行业标准基准测试中取得了显著的提升,证明了其在处理复杂问题和提供准确答案方面的能力。

具身机器人和通用AI 2432

纯资源 DLL 的实现与调用

纯资源 DLL是仅包含资源(图标,位图,字符串,声音,视频,对话框等)的 DLL。使用纯资源DLL可以节约可执行文件的大小,可以被所有的应用程序所共享,从而提高系统性能。纯资源DLL的编写比普通的DLL要简单的多,使用纯资源 DLL 可用来在多个程序之间共享同一组资源以及对多种语言进行本地化的应用. 要创建纯资源 DLL 1. 应创建一个新的 Win32 DLL(非 MFC)项目VC6环境中

2920

【AI大模型】角色设定:给模型定身份的高效使用方法

摘要: AI大模型角色设定(RolePrompting)是提示词工程的核心优化技巧,通过赋予模型特定职业、领域和风格约束,显著提升输出专业度与适配性。文章系统拆解了角色设定的原理、万能公式(领域+身份+技能+风格+场景)、三级分层写法(基础/进阶/专家),并提供10类高频场景的模板。通过无角色与有角色输出的对比实验(Python代码量化验证),证明角色设定可使模型综合得分提升35%以上,尤其优化场景适配度与风格统一性。该技巧作为高阶提示词(如CoT、Few-Shot)的前置模块,能以零成本实现AI输出的专业

unber的博客 41

使用vc封装纯资源dll及调用

1. 新建win32项目,选择dll和空项目。2. 选择resource,右键Add Resource,选择需要的item,导入资源。3. 根据需要修改资源id,用于调用。id加引号4. 工程设置,以下二选一:○右键project->properties->Linker->Advanced->No EntryPoint,指定为/NOENTRY(无入口点) 。/NOENT

卧云观海阁 1172

Cesium中级开发教程之二十二:视锥体

教程示例网站:https://thomaz529.github.io。

883

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

用 VC 纯资源 dll 解决国际化问题

  一步一步教你用VC纯资源dll解决国际化问题这的确是个老话重谈了,因为这里面确实也没有什么可以称的上技术含量的,只是实现起来有点烦琐,不过我还是要写出来,希望刚接触这方面的同行们不至于走太多的弯路。  由于MFC应用程序也有自己的资源文件,当你调用MFC函数比如 CString::LoadString 或其它 LoadIcon 时,MFC应用程序框架首先跟踪搜索EXE文件的资源,然后才是DLL

蜡笔小辛的专栏 2036

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

下一篇: 别人的工具,有两个没有用过的准备试试。
belecyrus
博客等级 码龄26年 7粉丝 1原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值