Windows编码
文章平均质量分 69
ThinkHY
好读书,喜编码,以构建软件为乐。
展开
-
Use Perl to Kill Lotus Notes Processes on Windows
# Recently, I experienced Notes crash problems several times. # It wasted me a lot of time to terminate Notes completely and then restart it, # so I wrote this Perl script to save myself. Also hope it原创 2013-05-03 17:53:18 · 2453 阅读 · 0 评论 -
Windows你在哪里?
最近一年多都在Win32平台下做开发,借这篇文章给自己打打气。转载 2011-05-08 21:07:00 · 1458 阅读 · 0 评论 -
[经验总结]调用WinSock的closesocket函数出现死锁的解决办法
这两天调试一个网络应用程序,出现一个很诡异的问题:程序在关闭连接时失去响应。用Process Explorer工具查看该程序的各个线程,发现一个工作线程的调用栈类似这样: stopProc ==> closesocket ==> EnterCriticalSection ==> RTEnterCriticalSection .... ....原创 2011-03-13 21:47:00 · 3349 阅读 · 0 评论 -
[经验总结]MFC各种控件属性介绍(转载)
<br /><br /><br />VC++6.0控件工具箱: <br />2 图形控件(picture):常用于显示位图(Bitmap)和图标(Icon)<br />3 静态文本(Static Text):用来在指定的位置显示特定的字符串,一般用来标识附近另一个控件的内容。显示在静态文本控件中的字符串一般不再改变,但是在需要的时候,也可以通过调用相应的函数来进行设置。MFC提供了CStatic类支持静态控件。<br />4 编辑框(Edit Box):用来接收用户输入的字符串。通过选择编辑框的选项,编辑框转载 2011-03-07 22:05:00 · 1315 阅读 · 0 评论 -
[经验总结]SendMessage会等待消息处理结束吗
[本篇全文] [回复文章] [本篇作者:wxstorm] [回信给作者] [进入讨论区] [返回顶部][分享到 搜狐微博]1发信人: wxstorm (企鹅), 信区: VisualC标 题: SendMessage问题发信站: 水木社区 (Mon Jan 24 21:32:25 2011), 站内MSDN上说:SendMessage给另一个线程的某个窗体发送消息后,是直接发给了其消息处理函数,会等那个消息被处理后才返回。那这个消息处理函数是在哪个线程里执行的?调用SendMessage的线程还是窗体原创 2011-03-03 23:19:00 · 4562 阅读 · 0 评论 -
MFC中处理消息的顺序(转载)
<br /><br />转自:http://hi.baidu.com/bellgrade/blog/item/4b1c61c395a7d73ce4dd3b78.html<br /> <br />MFC中处理消息的顺序<br />1. AfxWndProc()接收消息,寻找消息所属的CWnd对象,然后调用AfxCallWndProc( )。<br />2. AfxCallWndProc()存储消息(消息标识符和消息参数)供未来参考,然后调用WindowProc( )。<br />3.转载 2011-02-10 22:17:00 · 866 阅读 · 0 评论 -
Windows消息概述(转载)
目录消息定义消息常量 消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,消息定义 它在Windows单元中是这样声明的:typeTMsg = packed recordhwnd: HWND; //窗口句柄转载 2011-02-10 22:14:00 · 743 阅读 · 0 评论 -
初读《COM技术内幕》有感
今天托同事在淘宝买了本复印的《COM技术内幕》,晚上刚看过第一章。 这本书相比《COM本质论》更加浅显易读,但道理没有《本质论》讲得透。很多概念都是悬在空中讲,没有像《本质论》那样结合应用场景描述COM的优点。 当然,现在还只是读过第一章,据说这本书以“好读”著称,等过一阵再读过几章再来发感想吧。 《本质论》后面几章太艰深,去年年初没有看下去。这一年来,结合工作上的应用,对COM的思想有了更深入的理解,但愿这次能把《技术内幕》读下去。原创 2011-02-28 21:48:00 · 937 阅读 · 0 评论 -
MFC应用程序中的多线程与UI窗口
一个困扰我一天的问题,现在已经解决了。转载 2011-02-27 00:34:00 · 4249 阅读 · 0 评论 -
MFC子窗口和父窗口(SetParent,SetOwner)
转自: http://hi.baidu.com/winnyang/blog/item/c4fdcd3698b33ad1a2cc2b79.html一、概念和区别 在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口。这个数据结构中有四个数据用来构建list,即child、sibling、parent、owner四个域。 所以我们可以看到,窗口之间的关系有两种:owner-owned 关系和 parent-chi转载 2010-11-12 09:45:00 · 971 阅读 · 0 评论 -
Win32经典代码:用关键段实现读写锁
Win32经典代码:用关键段实现读写锁原创 2011-05-19 09:51:00 · 1398 阅读 · 0 评论 -
Win32关键区的一种典型用法
<br />void foo(){ volatile static long initialized; static CRITICAL_SECTION cs; if(InterlockedIncrement(&initialized) == 1) { InitializeCriticalSection(&cs); } initialized = 1; EnterCriticalSection(&cs); /原创 2011-05-19 12:49:00 · 1203 阅读 · 0 评论 -
技术爱好者Jeffrey Richter的一段话
今天在博客园看到Jeffrey Richter的一段专访,结尾处的这段话简单是说出了我的心声,Jeffrey Richter:我热爱技术,我自己也喜欢学习这些东西,而且我也喜欢与其他人分享我的发现。这能帮助大家提升工作效率,改善生活质量。我认为,软件让我们的生活质量大为提升,做很多事情变得更容易,我带着我的笔记本电脑到处走,我使用智能手机,用其中的 GPS 导航,搜索东西,这些原创 2012-02-11 22:23:57 · 1242 阅读 · 0 评论 -
Fixed a BUG of VC++ 6.0
// Fixed a BUG of VC++ 6.0 :the MSDN documentation states that for files larger than 4 gigabytes,// there is the CFileFind::GetLength64() fu原创 2011-05-18 17:03:00 · 1285 阅读 · 0 评论 -
用IE8/9调试OCX控件
最近遇到的问题,无法用IE联调OCX控件,终于解决了,原来是IE的多进程模式在作祟,感谢SH同学指点。原创 2011-04-28 11:19:00 · 3230 阅读 · 0 评论 -
匈牙利命名规范介绍(转载)
匈牙利命名规范几年以前,Charles Simonyi(他后来成为微软的著名程序员)设计了一种以前缀为基础的命名方法,这种方法后来称为"匈牙利表示法"以记念他.他的思想是根据每个标识符所代表的含义给它一个前缀.微软后来采用了这个思想,给每个标识符一个前缀以说明它的数据类型.因此,整型变量的前缀是n,长整型变量是nl,字符型数组变量是ca,以及字符串(以空类型结尾的字符数组)以sz为转载 2011-06-12 17:06:00 · 933 阅读 · 0 评论 -
Windows与Linux的异步IO在设计上的差异(转载)
<br />转自:http://www.douban.com/group/topic/11015963/<br /> <br />在windows操作系统内核中,首先要明白四个概念,apc(异步过程调用),dpc(延迟过程调用),irp(io请求包)以及基于优先级的抢占式调度,下面分别解释: <br />1.apc。 异步过程调用类似于linux下的信号,只不过信号处理函数的执行需要两步:设置和触发,而apc则只有一步,只需要将apc回调函数排入线程的apc对 列,它就总会被执行的。apc对列对于每个线程有原创 2011-04-17 01:00:00 · 1022 阅读 · 0 评论 -
理解PostThreadMessage(转载)
<br /><br />把window线程间传送消息仔细的看了一遍,觉得以前的理解很不深刻。说一说对PostThreadMessage的理解。<br />PostThreadMessage是一个线程体发送一个消息到指定的线程ID,其原型如下:BOOL PostThreadMessage( DWORD idThread, UINT Msg, WPARAM wParam,转载 2011-05-22 23:32:00 · 1219 阅读 · 1 评论 -
深入理解COM的单套间--第一部分(转载)
理解套间这个概念对于COM编程非常重要!转载 2011-05-22 23:36:00 · 2202 阅读 · 0 评论 -
No magic, just Basic----- 读《Windows核心编程》前言
万丈高楼平地起,就我个人而言,我始终倾向于从最底层开始,深刻理解系统的基本构件。一旦掌握了最基本的东西,就很容易向自己的知识库中逐步添加更多高层的东西。原创 2011-05-21 13:25:00 · 1969 阅读 · 0 评论 -
Hi,STACKOVERFLOW
Today, I registered an account in stackoverflow. And I have posted my first question: http://stackoverflow.com/questions/6086207/why-is-the-win32-mutex-so-time-consuming .I posted this blog just for memory.原创 2011-05-22 13:18:00 · 752 阅读 · 0 评论 -
[经验总结] MFC DLL——Regular DLL and Extension DLL(转载)
一直没真正理解MFC工程中各类DLL的区别,这篇文章不错。原创 2010-11-09 23:38:00 · 1295 阅读 · 0 评论 -
多线程加单例=杯具
<br /> 最近试着用多线程来改善以前写的程序的性能,运行时遇到了不少问题,查来查去还是单例对象的问题。单例对象在内存中只存在一份,类似于全局对象,这样的数据遇到多线程访问就杯具了。。。 <br /> 原来学设计模式时觉得单例是最简单的模式,容易理解和实现。现在看来,单例实现要考虑的事情很多:对象生存期、初始化与释放顺序、线程安全性。。。。 如此这般,要想全,再实现好一个单例模式,还是需要深厚的技术功底。 <br />原创 2010-12-20 23:48:00 · 864 阅读 · 0 评论 -
[经验总结]结合Visual Studio 2005编写的Makefile
# 依赖cygwin包(http://zh.wikipedia.org/wiki/Cygwin) # Makefile for Visual Studio 2005 project.# Creator: thinkhy# Date: 2009-12-29 星期二# Makefile 文件和源代码放在一个目录里 VS = devenv.comDEBUG = /bui原创 2009-12-30 23:08:00 · 1299 阅读 · 0 评论 -
[经验总结]Windows中关闭进程的C++实现
// [Added by thinkhy 09/12/20]// Description: Kill process(es) by PID.// Reference: http://www.vckbase.com/document/viewdoc/?id=1882// RETVALUE: SUCCESS TRUE// FAILED FA原创 2009-12-20 21:56:00 · 7553 阅读 · 0 评论 -
[技术学习]深入浅出之正则表达式(转载)
深入浅出之正则表达式前言: 半年前我对正则表达式产生了兴趣,在网上查找过不少资料,看过不少的教程,最后在使用一个正则表达式工具RegexBuddy时发现他的教程写的非常好,可以说是我目前见过最好的正则表达式教程。于是一直想把他翻译过来。这个愿望直到这个五一长假才得以实现,结果就有了这篇文章。关于本文的名字,使用“深入浅出”似乎已经太俗。但是通读原文以后,觉得只有用“深入浅出”才转载 2010-01-24 10:37:00 · 937 阅读 · 1 评论 -
[经验总结]智能指针不是万能的
最近看Don Box的>,其中第二章提及了智能指针,作者说使用智能指针是危险的,当时我对这个观点不以为然,微软的代码中CComPt用得满天飞也没见出什么问题。不过实践才能出真知,昨天我写的一段代码中用CComPtr用出了问题,先看下面这段代码: CComPtr spNodeRectNum=spNode; if (strName == _T("ABC"))原创 2009-09-24 13:14:00 · 1246 阅读 · 0 评论 -
[经验总结]利用MSXML在不同DOM树之间拷贝结点
首先还是看一段代码: // 拷贝XML结点BOOL CPrintQuestionDlg::CopyXMLNode(CComPtr spDocSrc, const CString& strXpathSrc, CComPtr spD原创 2009-08-30 00:21:00 · 1285 阅读 · 0 评论 -
[技术学习]什么是句柄
最近转做Windows开发,天天跟句柄打交道,句柄是什么? 最开始把它当成是指针的等效物,这样理解似乎没问题,但感觉还是觉得句柄很神秘。 后来在>一书3.1节找到不完整的答案: “在32位Windows进程中,句柄是一个32位值;在64位Windows进程中,则是一个64位值。为了让操作系统知道我们要对哪个内核对象进行操作,我们需要将这个句柄传给各种Windows函数。“原创 2009-08-15 19:34:00 · 966 阅读 · 0 评论 -
[技术学习]浅谈MFC中超类化技术的实现
自 Panr 的 Blog // 关键词:// 面对对象编程、超类化、子类化、Superclassing// MFC、CWnd::SubclassWindow// 通用控件、CMNCTRL//// 主题:// 通过CWnd::SubclassWindow 函数的分析,浅谈MFC中超类化技术的实现////// 背景// 我在2002-12月见了mahongxi (烤鸡翅膀)(色摸转载 2009-07-23 13:37:00 · 1166 阅读 · 0 评论 -
[技术学习]GRETA: 一个vc++实现的支持Perl正则表达式的程序库
Copyright Eric Niebler, 2002 The purpose of this document is to describe how to use the GRETA Regular Expression Template Archive. It describes the objects in the library, the me转载 2009-03-04 12:49:00 · 2626 阅读 · 1 评论 -
[技术学习]在Linux平台学习Windows开发技术(一)----编译第一个MFC程序
背景: 工作上需要使用MFC/ATL/COM等开发知识,笔记本上只有Linux,VirtualBox上安装Windows没成功,只得曲线救国,通过Wine在Linux平台上学习Windows平台开发知识。Wine是一个有着十多年历史的开源工程,它在Unix平台构建了一个Windows API模拟层以运行Windows程序(而不是像虚拟软件那样模拟硬件资源)。Wine不仅提供了在Linux平台原创 2010-01-03 19:15:00 · 1618 阅读 · 1 评论 -
[技术学习]在Linux平台学习Windows开发技术(二)----给MFC程序来个消息映射
来个复杂点的MFC程序,加个消息映射和消息框。Makefile(注意Makefile进化了): ########################################################################################### # Makefile for MFC Application with wine原创 2010-01-04 22:52:00 · 1274 阅读 · 0 评论 -
[活动]TECH ED2010归来
今天在鸟巢旁边国家会议中心参加了Tech-Ed 2010 微软技术大会。第一次参加这样大型的技术盛会,心里很是激动,导致我不知从何处下笔。 还是先说说今天见到的一些仰慕已久的大牛吧,侯捷、潘加宇、Raymond Chen 。。。,以前看过这些大牛的书、博客,这次能现场伶听讲座,还能面对面的请教,真得感到很荣幸。 参会的细节先按信不表,简单说说我的三点感想: 1. 即使进行了云计算时代,对于开发人员来说,基本功还是最重要的。甚至说,开发云端产品,对开发的人员原创 2010-12-02 23:21:00 · 888 阅读 · 0 评论 -
AFX_MANAGE_STATE(AfxGetStaticModuleState()) 详解(转载)
<br /> AFX_MANAGE_STATE(AfxGetStaticModuleState()) <br />转自:http://blog.csdn.net/hejianhua/archive/2008/05/30/2495606.aspx<br /> <br /> 写MFC的DLL的时候,总会在自动生成的代码框架里看到提示,需要在每一个输出的函数开始添加上AFX_MANAGE_STATE (AfxGetStaticModuleState())。一直不明白这样做的含义,也一直没有这样做,而且代码也工作转载 2010-11-30 23:09:00 · 980 阅读 · 0 评论 -
VC++中使用ADO方式操作ACCESS数据库(转载)
<br />VC++中使用ADO方式操作ACCESS数据库转自: http://dev.yesky.com/243/2230743.shtmlADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,即使你对OLE DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC API、DAO、RDO都要容易使用,并不失灵活性。本文详细地介绍在Visual C++开发环境下如何使用ADO来进行数据转载 2010-07-27 13:18:00 · 971 阅读 · 0 评论 -
VC++死忠用户的N多愚钝表现之点评
在这个页面:http://lixudong.blogbus.com/logs/69902204.html 看过下面这些观点,本科毕业后,我有过二年的Linux平台开发经验和一年半的Windows开发经历,下面是我结合自己的经历做的一些点评。原创 2010-07-25 00:34:00 · 993 阅读 · 0 评论 -
[经验总结]自己动手编译MFC/ATL库
一直知道MS为我们提供了MFC/ATL的源代码,但没想到重新编译这两个重量级的库,这两天在生成代码的空隙时间里把MFC/ATL给重新编译了。原创 2010-07-21 22:56:00 · 1633 阅读 · 0 评论 -
[经验总结]利用MFC的CFile对象输出utf-8和ansi编码的文本
// 今天写了一段输出文本到文件的代码,一开始用CFile输出中文,总是出现乱码,又是百度(Google被墙了)一番,网上的教程基本是只知其一不知其二,大多只讲了输出文件字节序标记和计算宽字符长度这两个注意点,却没有提到字符转换这个最关键的一步。下面的代码分别输出UTF-8和ANSI(简体中文Windows上是GBK编码)两种编码的文本文件。原创 2010-07-16 21:05:00 · 7615 阅读 · 3 评论 -
[经验总结]清空目录操作的VC++代码
<!--/*<! [CDATA[*/body { color: #000; background-color: #fff; margin: 0px 10%; min-width: 720px; font-family: Verdana, sans-serif; counter-reset: chapter section subsection subsubsection p原创 2010-04-23 22:05:00 · 1404 阅读 · 0 评论