
win32编程
文章平均质量分 66
Nirvana__
一个纯粹没脱离低级趣味的人
展开
-
基于消息,事件驱动的点滴感悟
在入门windows编程时,我们总会听到这么一句:Message Based,Event Driven。今天在解决Bug00173911 TL2.6:合并窗口,滑动鼠标使得右上角的收缩按钮展开,拖动窗口至最大化,关闭按钮显示为还原按钮 时有点感触。在解决该bug后,调试过程中发现,窗口的最大化和还原状态与右上角的Button状态偶尔对应不上,后面跟踪发现因为win7系统有针对桌面窗口自动排原创 2014-02-14 14:45:28 · 1350 阅读 · 1 评论 -
使窗口具备拖动到边界自动最大化/还原的特性
从win7开始,windows的特性中具备了拖动窗口到屏幕边界时最大化,还原,或者占据半个工作区的功能,如果希望自己的窗口具体这种特性,那么需要在窗口属性中添加 WS_BORDERG与WS_THICKFRAME,但是对于DirectUI绘制的一些窗口时,在窗口创建时就添加WS_THICKFRAME会造成窗口的边框由系统绘制,不符合设计效果解决方法是原创 2017-08-23 17:43:22 · 1398 阅读 · 0 评论 -
Dynamic-Link Library Search Order(dll搜索顺序)
在项目从VS2010升级到VS2015过程中,遇到了一些dll的依赖问题,升级程序在appdata目录中,希望引用安装目录中的运行时库以及libcurl等功能依赖组件。复习了一下这块的资料作一下总结:首先是SafeDllSearchMode的概念,是否开启的标志位于HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manag原创 2017-06-20 18:08:18 · 916 阅读 · 0 评论 -
Chrome线程模型中的Modal窗口返回值问题
项目中使用了Duilib和Chrome中抽离的base线程模型来进行开发,在使用我们简单封闭的时,发现偶尔会出现DoDodal的返回值并非用户的点击项,跟踪后发现,base自己的消息循环(MessageLoop)处理时会有概率处理掉原生的消息队列消息WM_CLOSE,造成返回值是默认值,而非用户点击时传递进wParam. 这个发生的情况是,WM_CLOSE消息恰好被base的Mes原创 2017-04-05 17:27:56 · 935 阅读 · 1 评论 -
RichEdit读取rtf格式
接到需求,需要在播放器播放失败时显示播放失败的错误原因,引导用户自己解决,减轻客服压力,在看到产品设计挺长的原因说明后,考虑维护简单,避免使用xml配置中直接写死的方式来解决,经过权衡后通过RichEdit读取rtf文件的方式来保留格式,并且易于后期维护原创 2017-01-23 16:02:05 · 3582 阅读 · 0 评论 -
VisualStudio中的调试命令参数中%的转义问题
在调试中遇到一个问题,VS中调试命令参数中包含有%号时,实际运行起来后的启动命令行会显示为乱码,如实际显示为:而如果通过命令行直接调用则显示正常实际显示为:经过尝试发现VS调试中的命令参数在部分情况下会进行UrlDecode,如原始字符为:%abcUrlEncode:%25abc当我们在VS命令参数中填写 %25a原创 2017-02-09 17:35:01 · 1314 阅读 · 1 评论 -
分享一个性能统计的简单封装类
在查找问题,优化性能时,不免用到GetTickCount来统计函数耗时。不断的DWORD tick_beg = GetTickCount();DWORD tick_end = GetTickCount();DWORD tick_span = tick_end - tick_beg;着实麻烦简单地封装了一下。主要提供的接口是 AutoTick tick(__FUNCT原创 2017-02-08 18:29:36 · 548 阅读 · 0 评论 -
std::map的insert和下标[]访问
在map中插入元素改变map中的条目非常简单,因为map类已经对[]操作符进行了重载enumMap[1] = "One";enumMap[2] = "Two";.....这样非常直观,但存在一个性能的问题。插入2时,先在enumMap中查找主键为2的项,没发现,然后将一个新的对象插入enumMap,键是2,值是一个空字符串,插入完成后,将字符串赋为"Two"; 该方法会将每个值转载 2015-01-04 16:35:10 · 786 阅读 · 0 评论 -
窗口之间的主从关系与Z-Order
说明:这是本人2008年写的一篇旧文,从未公开发表过。其中除了一小段描述Window Mobile平台的内容已过时,大部分内容对于从事Win32开发的程序员还是很有参考价值的,也是对自己从事Windows开发工作的一个总结,欢迎指正。转载请注明:http://www.cnblogs.com/dhatbj/原创。 范围(Scope) 讨论Windows操作系统中窗口之间的关系转载 2014-06-19 16:05:55 · 1075 阅读 · 0 评论 -
读写ini配置文件时的相对路径问题
在使用GetPrivateProfileString时需要注意一点,原创 2014-07-03 19:06:03 · 4678 阅读 · 1 评论 -
如何设置线程名
To set a thread name in your program, use the SetThreadName function, as shown in the following code example. Note that the thread name is copied to the thread so that the memory for the threadName pa...转载 2018-05-09 11:19:14 · 368 阅读 · 0 评论