(ÒωÓױ)

曾经去过跨越一个小时的地方

一点点另外的思考:CRT 跨 DLL 边界传递 CRT 对象时可能出现的问题

一、引言 在昨天探索和学习 libcurl 库的时候,在 libcurl 库的源代码中的 FAQ 文档中有这么一句话我非常上心: As a general rule, building a DLL with static CRT linkage is highly discouraged...

2018-08-14 13:22:12

阅读数 91

评论数 1

(转) 让程序在崩溃时体面的退出

这是我在搜索有关崩溃处理的时候看到的博客。该博客: 1. 从一开始的 __try/__exception/ __finally 讲解2. 到提出SetUnhandledExceptionFilter 设置异常回调处理函数机制3. 再提出了 Dump 文件的创建4. 最后将上述 3 种方式糅合在一...

2017-12-13 16:48:02

阅读数 132

评论数 0

Windows核心编程:使用 CreateMutex 防止运行应用程序的多个实例

一、引言这块代码来源于 《Windows 核心编程》(第五版)P50 页。一直以来对于防止运行应用程序多个实例有一个大体的代码印象(就是来源于这里),但是一直苦于没有好好整理,今天就贴上这份简单的代码,一来方便自己整理学习,二来以飨读者。二、代码这里直接贴上我运行测试成功的代码:#include ...

2017-11-29 20:28:05

阅读数 215

评论数 0

Windows核心编程:MultiByteToWideChar 与 WideCharToMultiByte 的正确用法

一、引言学习到 《Windows 核心编程》(第五版)P28 的时候,看到了作者对于多字节字符串与宽字符字符串相互转换的精妙的描述,忍不住写了一个 Demo 来整理作者的思路。联想到在实际工作中,多字节字符串与宽字符字符串的相关转换是非常常见的,并且对于 MultiByteToWideChar 和...

2017-11-29 16:08:25

阅读数 90

评论数 0

问题解决 NMAKE : fatal error U1077: “rc”: return code“0x1” Stop.

一、引言最近在编译 OpenSSL 的时候,出现了这个问题: NMAKE : fatal error U1077: “rc”: return code“0x1” Stop. 很明显,这是当前命令行工具未能识别 rc 程序所导致的。二、解决这个问题看了很多方法,都不是很奏效,于是我就使用了笨方法...

2017-11-14 14:54:02

阅读数 5454

评论数 0

关于客户端与服务端通信的一点感悟

一、引言一直以来在公司从事于桌面客户端的开发,从事已有一年有余,却直到今天才领悟了客户端是如何与服务端进行通信的。这一方面大大得益于“Web Scraping with Python”作者对于 API 相关内容的描述,这不是我第一次接触 API,却是我第一次系统的了解 API。那么这篇博客也是我的...

2017-11-01 11:50:21

阅读数 510

评论数 1

VS 搜索内容失败怎么办

一、引言在日常使用 VS 的时候,总会遇到尴尬的地方: 搜索不到? 搜索不到?! 不可能搜索不到呀!!! 遇到这种情况,我们暂且只能认为是 VS 的问题,那么我们还要继续工作的,怎么办呢?二、VS Code 强大的搜索功能在这里,我推荐一块比较强大的开源的微软旗下的编辑器软件 VS...

2017-09-23 11:53:54

阅读数 253

评论数 0

编译问题探索:LINK : fatal error LNK1104: cannot open file ‘PocoFoundationmt.lib’

一、引言有一次在工作中遇到了这样一个问题: LINK : fatal error LNK1104: cannot open file ‘PocoFoundationmt.lib’ 这个问题很奇怪,甚至于 PocoFoundationmt.lib 是在哪里调用的我都不是很清楚。二、问题解决这个问...

2017-09-18 11:28:02

阅读数 3186

评论数 0

锁屏的一个有趣的问题:HWND_TOP 与 HWND_TOPMOST 漫谈

一、引言今天遇到了一个非常有趣的问题,问题背景是一个用户反馈了这么一个问题: 当软件已经被锁屏了: 1. 用户点击出一个窗口显示(这是一个真窗口) 2. 此时用户再通过停靠在侧边的 QQ 界面,仍然可以通过点击里面的 QQ空间 图标点开网页,从而进入浏览器界面 根据我们软件的需求,...

2017-08-07 21:28:12

阅读数 2829

评论数 0

问题解决:error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1800”不匹配值“1900”

一、引言最近在编译运行有关 cef 的项目的时候,发现总会出现这样的编译问题:libcef_dll_wrapper13d.lib(process_message_ctocpp.obj) : error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1800”不匹配值“1900”(H...

2017-07-29 18:15:09

阅读数 13600

评论数 3

编译问题解决:LINK : fatal error LNK1104: 无法打开文件“*.dll”

一、引言编译项目的时候,总会遇到些奇怪的问题,比如说以下这种: LINK : fatal error LNK1104: 无法打开文件“..\bin\utilitiesd.dll” 我在编译一个动态链接库项目的时候出现的问题,其中 utilitiesd.dll 应该是该项目的输出文件,而此时却显...

2017-07-24 14:39:48

阅读数 15284

评论数 1

简单Demo:动态调用自己编写的动态链接库

一、引言在上一篇博客里,我主要实现了使用 C++ 自行编写和静态调用动态链接库的功能。这里附上上一篇博客的地址: 简单 Demo:C++编写、调用动态链接库动态链接库除了可以静态调用外,还可以动态调用。可能这里对术语不熟悉的同学就会搞混了以下这几个概念:这里通过查找资料,找到了以下的这四个术语的...

2017-07-19 10:19:14

阅读数 1170

评论数 0

简单 Demo:C++编写、调用动态链接库

一、引言最近在使用 C++11 刷 LeetCode 的同时,渐渐萌生了自己写一个 LeetCode 内置数据结构库的想法。比如说,只需要输入: [1, 2, null, 3] 就可以自动将其转化为二叉树的功能。不过这里扯远了,要想自己写一个库,那么第一步就是如果编写一个能够方便让其他项目调用...

2017-07-18 22:23:20

阅读数 9110

评论数 6

点击按钮关闭真窗口崩溃原因探讨

一、引言在工作中,经常会遇到这样的问题: 点击窗口上的一个按钮,使该真窗口关闭 。 而此时如果关闭窗口的逻辑是直接拿着句柄销毁窗口,则会发生崩溃的现象。 这是为什么呢? 这是因为鼠标弹起的 LBUTTONUP 的消息发到窗口对象的时候,此时窗口对象已经不存在了,而访问不存在...

2017-06-22 21:43:17

阅读数 535

评论数 0

ATL::CComPtr::operator& 断言 Expression: p == 0 原因分析

一、引言最近在开发过程中,在使用 ATL::CComPtr 的时候,总会出现一个断言提示:另外,在断言出现处点击“重试”,又可以定位到具体出错的地方://The assert on operator& usually indicates a bug. If this is really ...

2017-06-20 11:06:34

阅读数 301

评论数 0

如何禁用文本框输入中文

一、引言最近在工作中遇到了这样的问题: 目前的密码输入框可以输入中文,需求要求提示用户不可以输入中文 那么,如何限制用户不能输入中文呢?二、厉害了,我的 ASCII 码网上搜寻了很久,有各种答案,尤其是正则表达式的方法,函数看得云里雾里的。最后在一个论坛里面看到了一位仁兄非常简洁的一个算式:a...

2017-05-12 11:32:27

阅读数 798

评论数 0

GetHostWnd() 与 GetActiveWindow() 的用法区别

一、引言最近工作中遇到了一点小问题: 首先我在主窗口上创建了两个子窗口,然后想要让其中的一个子窗口置顶。 但是很无奈,使用了 SetWindowPos() 方法怎么都置不了顶,反而还被另外一个子窗口一直压在下面; 更奇怪的是:当我切换了其他程序后,再切换回来,我想要置顶的子...

2017-05-08 17:51:52

阅读数 611

评论数 0

VS 高级版本新建的项目如何降级使低版本 VS 可以打开

一、引言这里因为工作的原因,公司项目使用的是 VS2015 的编译环境,但是因为程序员永远是喜欢最新的 IDE 的原因,所以我一直都在使用 VS2017 进行工作。但是最近出问题了,我用 VS2017 新建了一个项目,写了一个小小的 demo ,想要上传到公司项目上去,这时候看到图标我就傻眼了。这...

2017-04-21 15:58:40

阅读数 11994

评论数 1

代码赏析:子窗口对于键盘和鼠标的响应

一、引言首先声明,代码并不是我写的;其次,代码是我在小甲鱼的《Win32 SDK程序设计》系列教程的第41讲中看到的。因为本人一方面在学习这个教程,一方面也对于优美的代码有着自己的独特的爱好,所以在这里书写博客予以分析(代码应该是出于《windows程序设计》第5版的书例代码)。那么这份代码是为了...

2017-04-17 00:12:26

阅读数 1306

评论数 0

error LNK2019: 无法解析的外部符号 _GET_X_LPARAM,该符号在函数 _WndProc@16 中被引用

一、引言我们在响应 WM_SIZE 或者 WM_MOUSEMOVE消息的时候,会需要从 lParam 参数中获取到当前客户区的大小啦鼠标的位置信息等等。但是经过查询了MSDN文档后,我们得知,利用LOWORD 和 HIWORD 宏获取位置信息在多显示器的情况下是会有问题的,推荐使用 GET_X_L...

2017-04-12 22:09:57

阅读数 1265

评论数 1

提示
确定要删除当前文章?
取消 删除