VC
文章平均质量分 65
CedarDiao
80后技术狂,拖延症晚期,强迫症重度患者!
展开
-
Windows DLL导出符号方法
经典的做法时使用一个模块定义文件来定义导出符号。参考我之前的一篇文章:VC2008如何生成及使用DLL_技海淘金-CSDN博客这个方法对于C语言实现的DLL是比较方便的。但是,如果是C++,想要导出类,通过模块定义文件的方式,我没有找到比较好的办法。于是这里介绍第二种导出符号的方法:在头文件里定义:#if defined LIBP2_EXPORTS#define LIBP2_API __declspec(dllexport)#else#define LIBP2_A原创 2021-11-04 12:31:34 · 2016 阅读 · 0 评论 -
使用OpenCV关闭USBCamera的自动白平衡
目录前言背景知识opencv里的属性set和get实现dshow接口参考改造opencv1. 增加一个自动白平衡的属性定义2. 在属性的get接口里添加读自动白平衡的实现3. 重新编译opencv后即可通过属性:4. 使用示例前言本文的方法是在Windows平台上,opencv_3.4.14版本上实施并验证OK的。VC环境下,在opencv里,通过设置属性“CV_CAP_PROP_WHITE_BALANCE_BLUE_U” 可以达到设置白平衡值的目的...原创 2021-10-11 20:08:27 · 1722 阅读 · 0 评论 -
Windows下检查exe文件的依赖关系
由于工作需要,有时会实用VisualStudio或Cygwin的gcc编译小的exe程序。自己使用倒是没什么大问题,但有时候将exe程序提供给别人使用是,由于对方的系统环境比较“纯净”,没有vs,也没有cygwin,程序可能出现无法正常启动的情况。这里分享一个小技巧来检查exe程序到底依赖哪些DLL,我们将程序外发的时候,只要将这些DLL文件也放在一起就可以了。对于VC编译的程序,使用...原创 2019-10-29 15:34:46 · 2441 阅读 · 0 评论 -
Win10如何获取程序自己的版本号
前言之前写过一篇博文,《VS2010获取程序自身的版本号》近期开发的一个应用,发现在Win7下正常,但到了Win10下,无法获得正确的版本号。跟踪后发现问题出在这里:GetFileVersionInfoSize这个接口在Win7下正确返回,但在Win10下返回错误。获取资源中版本号的新方法不想深究Win7和Win10系统处理这个API有什么区别了,于是换了一种方...原创 2019-05-29 11:19:13 · 778 阅读 · 0 评论 -
VS2010获取程序自身的版本号
在程序的标题栏中显示版本号有助于用户快速了解自己所用程序的版本。在关于对话框中也会显示程序的版本号。在资源文件中设置好版本信息后,可以在程序的属性中查看到程序的版本信息。改个版本号至少要修改3个地方,太麻烦了。可以用下面的方法直接读出程序的版本号,将版本号用程序控制显示在标题栏以及关于对话框中。之后只需要改资源文件中的版本号这一个地方就行了,再也不会出现改了这个地方忘了原创 2017-11-20 10:38:44 · 5264 阅读 · 2 评论 -
VC2010使用openssl-1.1.0f静态库时链接报错
编译报错内容:1>libcrypto.lib(e_capi.obj) : error LNK2001: 无法解析的外部符号 __imp__CertFreeCertificateContext@41>libcrypto.lib(e_capi.obj) : error LNK2001: 无法解析的外部符号 __imp__CertGetCertificateContextProperty@161原创 2017-11-29 14:09:08 · 12583 阅读 · 11 评论 -
openssl-1.1.0f VC编译方法
1. 安装好VS2010版本2. 下载OpenSSL代码3. 安装NASM4. 参考说明文件NOTES.WIN5. 管理员权限打开命令行6. 执行以下命令以安装编译环境:set path=C:\Perl5.16.3\bin;%path%set path=C:\Program Files (x86)\NASM;%path%set path=C:\Pro原创 2017-11-29 13:57:21 · 1193 阅读 · 0 评论 -
VS2010 UAC执行级别修改
近期写的一个小应用需要直接访问物理硬盘,所以导致需要you'jian原创 2014-08-13 16:10:54 · 5810 阅读 · 0 评论 -
VS2008安装失败解决案例一则
由于升级内存,顺便将系统重装了一下,没换,还是用XP,工作需要,没办法。 不是第一次安装系统了,也不是第一次装XP了,Ghost装的,都没什么技术含量。。。 但不知道为什么,最后准备安装VS2008时居然装不上。我琢磨了一下,估计是在装VS2008之前用360清理了一下系统造成的,这些郁闷了,别让我再重装一次啊。 Baidu搜索了一下,居然找到了解决办法:htt原创 2012-12-16 21:16:45 · 1137 阅读 · 0 评论 -
如可访问注册表
本例从注册表的HKEY_LOCAL_MACHINE/SOFTWARE/Huawei technologies/ChinaTelecom中读取ExePath和ExeName键值。注册表中的内容如下图:读取注册表键值的代码如下:// 从注册表中读出客户端软件的路径信息// exePath: 客户端的路径// exeName: 客户端的名称// dwPathSize:path原创 2009-09-01 16:43:00 · 1094 阅读 · 0 评论 -
如何将程序在任务管理器的应用程序列表中隐藏
两句话搞定:this->SetWindowText(TEXT("")); ShowWindow(SW_HIDE); 这样只能在任务管理器的应用程序列表中隐藏,但在进程列表中仍然可见。原创 2009-09-01 16:39:00 · 4590 阅读 · 0 评论 -
如何实现DLL的自释放
这篇文章,我反复写了3遍,第一遍是快写完的时候电脑重启,第二遍是发表文章的时候发现超时,然后文章丢失。现在我只想说Mother fuck。。。 通常在程序生成后可能需要调用其他的DLL,这就导致发布程序的时候需要将EXE文件和DLL一起发布,但有些情况下只允许一个EXE文件存在,这时我们可以采用DLL自释放的方法来解决,需要做的事情就是:1. 将DLL添加到应用程序的资原创 2009-08-17 17:29:00 · 4840 阅读 · 3 评论 -
VC2008如何生成及使用DLL
生成、使用DLL看起来简单,但做起来才发现还是有一些地方需要注意的。1. 打开VS2008,新建一个VC工程,选择Win32类型,Win32项目: 2. 应用程序类型选择DLL,附加选项选择到处符号,公共头文件不要选择,然后点完成即可。3. 工程生成后需要修改属性,在配置属性的常规选项中将MFC的使用修改为“静态库中使用MFC”。 注意,这一步是必须的,否则写出来的原创 2009-08-12 17:29:00 · 9859 阅读 · 2 评论 -
VC常用的Windows数据类型与ARM嵌入式C语言的数据类型
由于在ARM嵌入式的工作习惯,在使用VC的时候总是习惯性的要求自己清楚每个变量的数据类型长度。我想这并没什么坏处,但问题就出在WindowsAPI上。在使用WindowsAPI的时候查看MSDN会发现很多Windows自己定义的数据类型,比如HANDLE这样的,咋一接触,让人莫名奇妙,接触久了之后发现,什么HANDLE啊,不就是个指针嘛,搞得这么神神秘秘的,虽然MSDN中有,但我觉得还是有必要原创 2009-08-12 16:26:00 · 1649 阅读 · 0 评论 -
在VC中使用SetupAPI的接口
在程序中用到了SetupDiEnumDeviceInterfaces接口,编译时提示找不到符号,MSDN上查了一下,发现需要setupapi.h头文件,头文件加上后还是找不到,于是将lib也加上,终于,连接通过了。 首先安装VC,然后安装DDK,最后在代码这种添加如下代码:#include "setupapi.h"#pragma comment(lib,"setup原创 2009-08-11 17:48:00 · 3997 阅读 · 1 评论 -
程序启动c0150002错误与Visual c++ 9.0 CRT (x86) WinSXS MSM
今天在写好了一个小工具后发现在我的PC上运行良好,但是在有些机器上却会在启动时出现c0150002错误。怀疑是因为系统环境不同的原因。正好,安装了Install Shield 2009,想起来它可以检查程序的依赖项,于是拿来检查了一下,果然需要Visual c++ 9.0 CRT (x86) WinSXS MSM,这下大条了,找吧。。。经过仔细排查,发现我的应用程序使用MFC写的,用的原创 2009-08-11 17:08:00 · 7221 阅读 · 1 评论 -
我是怎么学习VC的
之前几年,陆续学过几次VC,但都以各种原因中断,而至今也不会使用模板及符号重载。但因为从事嵌入式行业,结果练得一手的C语言,一天,心血来潮,开始尝试用VC写个小工具,一开始困难重重,没有头绪,纠结~~那就看MSDN吧,Baidu吧,一周下来,嘿,还真被我给整出来了,虽然结构还是简陋,但毕竟是一个商业软件。而且因为使用C的原因,程序稳定性似乎非常不错,使得在产线上频繁使用而竟然没出过原创 2009-08-08 22:56:00 · 1405 阅读 · 0 评论