在 VC6 中使用 GdiPlus-安装

安装三部曲:
Step1
:下载 GdiPlus SDK 文件包;
链接地址1:http://www.codeguru.com/code/legacy/gdi/GDIPlus.zip
链接地址2:http://www.codersource.net/samples/mfcgdiplus.zip


Step2:安装;
(1)头(GdiPlus*.h)文件安装目录:C:\Program Files\Microsoft Visual Studio\VC98\GdiPlus;
(2)静态库(GdiPlus.lib)文件安装目录:C:\Program Files\Microsoft Visual Studio\VC98\Lib;
(3)动态库(GdiPlus.dll)文件安装目录:Copy 到 exe 文件存放目录或者直接使用系统中自带的 GdiPlus.dll;


Step3:配置开发环境下的路径
从 VC6 主菜单 Tools->Options... 进入设置窗口,选择 Directories 选项卡,在 Show directories for: 下拉列表中选择 Include files,在列表中增加 C:\Program Files\Microsoft Visual Studio\VC98\GdiPlus。

GdiPlus_Include

Step1:下载 GdiPlus SDK 文件包

    VC6 的安装程序并没有包含 GdiPlus 相关的库文件和头文件,所以想在VC6中使用 GdiPlus,你首先得把这些文件下载到本地。微软的说法是 GdiPlus 相关的库文件和头文件已经合入到 .Net Platform SDK 里面,所以开发人员只需要下载安装 SDK 即可。但也有相当一部分开发人员是不想为了 GdiPlus 就安装 SDK 的,于是就有热心之人从 SDK 中把 GdiPlus 相关的这些文件单独抽离了出来,形成了 GdiPlus SDK 文件包。

你可以尝试通过以下链接地址进行下载:
链接地址1:http://www.codeguru.com/code/legacy/gdi/GDIPlus.zip
链接地址2:http://www.codersource.net/samples/mfcgdiplus.zip

解压之后,请核对一下文件夹中的目录结构:
Root (Directory)
│ 
├Includes (Directory)
│ ├GdiPlus.h
│ ├GdiPlusBase.h
│ ├……
│ ├……
│ └GdiPlus*.h
├Lib (Directory)
│ └GdiPlus.lib
└GdiPlus.dll 

Step2:安装


    理论上讲,把下载回来的这些文件放在硬盘上的任意一个位置都是可以的,只要在 Step3 中进行相应正确的配置,都能够在 VC6 中把 GdiPlus 用起来。

我采取的做法是:
(1)头(GdiPlus*.h)文件安装目录:C:\Program Files\Microsoft Visual Studio\VC98\GdiPlus;
    把 GDI+ SDK 文件包中的 Includes 目录重命名为 GdiPlus,再把 GdiPlus 文件夹 Copy 到 C:\Program Files\Microsoft Visual Studio\VC98 目录里面,换句话说就是把文件包中所有的 GdiPlus*.h 文件 Copy 到 C:\Program Files\Microsoft Visual Studio\VC98\GdiPlus 目录下。

(2)静态库(GdiPlus.lib)文件安装目录:C:\Program Files\Microsoft Visual Studio\VC98\Lib;
    把 GdiPlus.lib Copy 到 C:\Program Files\Microsoft Visual Studio\VC98\Lib 中。

(3)动态库(GdiPlus.dll)文件安装目录:Copy 到 exe 文件存放目录或者直接使用系统中自带的 GdiPlus.dll;
    事实上在安装 Windows 操作系统(2000以及以上版本)的时候,安装程序就已经把 GdiPlus.dll Copy 到了系统目录里面了。随着 Windows 补丁的不断更新,你也许还会在系统目录里面发现同时存在多个不同版本的 GdiPlus.dll(我尝试搜索了一下 C:\Windows 目录,发现两个不同版本的 GdiPlus.dll)。
    对于 GdiPlus.dll 不同版本的问题,微软建议软件开发厂商可以把自己开发测试时候所使用的 GdiPlus.dll 版本放到自己产品的安装目录下,随产品一起发布,这样程序在装载 GdiPlus.dll 的时候,会优先选择安装目录下的版本进行装载。
    这种做法的目的可以这样理解,假设现在 GdiPlus.dll 发现漏洞需要升级,但是用户操作系统由于没有及时打补丁或者其他原因,系统目录下的 GdiPlus.dll 未能及时更新(系统仍然在使用一个存在漏洞的 GdiPlus.dll)。此时用户安装了一个新软件,这个软件里面如果有打包 GdiPlus.dll 版本的话,那软件运行时候所使用的 GdiPlus.dll 版本与软件开发测试时候所使用的版本就是一致的,这样就可以把软件运行时候受漏洞影响的可能性降到最低。
    文件包中的 GdiPlus.dll 文件版本是 5.0.3049.0,微软最近更新的一个 GdiPlus.dll 版本是 5.1.3102.2180。我的 Windows XP 系统一直都有进行比较及时的自动更新,通过 Windows 的搜索功能可以在 C:\Windows 目录里面找到 GdiPlus.dll 的最新版本。另外我在腾讯 QQ 的安装目录下也发现了 GdiPlus.dll 的最新版本。 

Step3:配置开发环境下的路径


为了让 VC6 在编译的时候,能够找到 GDI+ 相关的库文件和头文件,还需要在 VC6 开发环境中进行目录配置。
(1)从 VC6 主菜单 Tools->Options... 进入设置窗口,选择 Directories 选项卡;
(2)在 Show directories for: 下拉列表中选择 Include files,在列表中增加 GdiPlus 头文件所存放的目录路径,这个路径应该与 Step2 里面(1)的路径一致;
(3)在 Show directories for: 下拉列表中选择 Library files,在列表中增加 GdiPlus.lib 所存放的目录路径,这个路径应该与 Step2 里面(2)的存放路径一致;
(4)重启 VC6,以保存修改后的配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432579.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法训练|实现 Trie (前缀树)

208. 实现 Trie (前缀树) - 力扣(LeetCode) 总结: Trie,又称前缀树或字典树,是一棵有根树,其每个节点包含以下字段: 指向子节点的指针数组 children。对于本题而言,数组长度为 26…

ASP.NET MVC 的多国语系支持

ASP.NET MVC 的多国语系支持 posted on 2014-05-14 11:31 stickout 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/linhui/p/3727364.html

airtest web 录制滑块_Airtest之web自动化(一)

Airtest之web自动化(一)[此文档有许多涉及到gif动图的地方,请全屏观看]了解Airtest:简介:Airtest是由网易团队开发的一款自动化框架,前期运用与游戏测试(通过截图识别),后来又被运用到安卓测试以及web测试。这款自动化…

error C2065: 'ULONG_PTR' : undeclared identifier

处理方法: 把#define ULONG_PTR ULONG 加到 stdafx文件 靠前面的位置 原因: Visual C 6.0 开发环境, gdi 的头文件和库文件并没有被包含在环境中, 需要您手工安装 VC6 中没有 ULONG_PTR 类型

重构价格日历

重构价格日历转载于:https://www.cnblogs.com/usual2013blog/p/3728655.html

aliyun centos6 安装mysql_阿里云CentOS6.8安装MySQL5.6

1、使用SSH Secure Shell工具连接阿里云服务器2、使用SSH Secure File Transfer工具上传MySQL压缩包3、解压MySQL压缩包到指定目录(需要在先/usr/local下创建mysql目录)进入压缩文件存放位置,进行解打包:tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.ta…

RegOpenKeyEx 返回值 2

RegOpenKeyEx 返回值 2 x64 系统: 32bit 应用程序调用RegOpenKeyEx (HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft", 0, KEY_WOW64_64KEY | KEY_READ, &hKey ); 注意 KEY_WOW64_64KEY 权限值必须使用否则将查找不到指定的路径。

mysql client 未开启_Django+mysqlclient未关闭数据库连接

我使用2个mysql数据库连接。在django中的每个页面请求之后,连接计数(如SHOW STATUS LIKE Conn%所示)每次增加2。在Python 3.4.0django 1.8.2mysqlclient 1.3.6版(Windows和Linux似乎都有这个问题)最初我直接通过MySQLdb访问第二个数据库,但现在我改为使用…

OpenGL中各种坐标系的理解

OPENGL坐标系可分为:世界坐标系和当前绘图坐标系。 世界坐标系:在OpenGL中,世界坐标系是以屏幕中心为原点(0, 0, 0),且是始终不变的。你面对 屏幕,你的右边是x正轴,上面是y正轴,屏幕指向你的为z…

默认手机照相功能

下面是主要代码: - (void) addPicEvent { //先设定sourceType为相机,然后判断相机是否可用(ipod)没相机,不可用将sourceType设定为相片库 UIImagePickerControllerSourceType sourceType UIImagePickerControllerSourceT…

qmake生成vs2013工程文件

qmake -spec win32-msvc2013 -r -tp vc xxx.pro

iOS面试题

今天上午,下午分别面试了两家公司。上午是一家互联网公司,气氛还比较好,是我比较喜欢的。技术这块是直接机试,主要是给了些BUG让我修复,整个过程还算顺利。下午去了一家大型的证券公司。整理技术问题如下: …

Prepar3d.cfg

如果设置为0,打开p3d直接进入默认场景 [USERINTERFACE] SHOW_SCENARIO_WINDOW1

mysql严格模式 报错_mysql严格模式

mysql严格模式严格模式例子1234567DB::table(table_name)->where(status, 1)->select(DB::raw(sum(score) as num,user_id,channel))->groupBy(user_id)->orderBy(num, desc)->limit(10)->get();会报错:Syntax error or access violation: 1055 E…

Android Service 的一些笔记

绑定服务: 用于间接调用服务里面的方法。如果调用者Activity被销毁了,服务也跟着销毁了,服务也会跟着销毁。 开启服务: 不可以调用服务里面的方法。如果调用者的Activity退出了,服务还会长期在后台运行 生命周期 ①单独…

python traceback 丢失_基于python traceback实现异常的获取与处理

这篇文章主要介绍了基于python traceback实现异常的获取与处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下1、traceback.print_exc()2、traceback.format_exc()3、traceback.print_exception()简单说下这三个…

用Javascript获取页面元素的位置

制作网页的过程中,你有时候需要知道某个元素在网页上的确切位置。 下面的教程总结了Javascript在网页定位方面的相关知识。 一、网页的大小和浏览器窗口的大小 首先,要明确两个基本概念。 一张网页的全部面积,就是它的大小。通常情况下&#…

[Qt] 利用QtWebKit完成JavaScript访问C++对象

http://blog.csdn.net/longsir_area/article/details/42965565 一. 介绍 在浏览器扩展或者WebApp的项目经常用的脚本语言JavaScript有很多局限性,比如,javascript语言不能够夸窗口访问js对象,不能直接读写磁盘文件(这个…

lua cURL使用笔记

cURL cURL是 URL命令行工具, 即 command URL, 可以通过命令行模拟各种应用协议的发包, 包括FTP HTTP HTTPS, 官方网站 http://curl.haxx.se/ luacurl lua curl是基于curl的库libcurl(http://curl.haxx.se/libcurl/&…

mysql三大范式_MySQL学习笔记

1、数据库结构设计1、总-总体流程图2、分-【提取属性】业务分析评价的属性:{用户,课程主标题,内容,综合评分,内容实用,简洁易懂,逻辑分析,发布时间} 问答评论属性:{类型,…