
Windows SDK
文章平均质量分 69
蒋晟
微软最有价值专家 VC/MFC和.Net大版主
展开
-
自定义在RichEdit中插入对象的图标
因为有人要所以重新发出来。原文放在blogcn上。blogcn收费之后就删除了。尽管在谷歌的博客上还有个备份,但是看来国内搜不到。3/04/2004自定义在RichEdit中插入对象的图标方法基本同Knowledge Base文章Q220844HOWTO: Insert a Bitmap Into an RTF Document Using the RichEdit Control...原创 2019-11-02 00:56:40 · 744 阅读 · 0 评论 -
Jiangsheng的优快云 Digest (Dec 2005)
优快云 讨论总结系列:Jiangsheng的优快云 Digest (Dec 2005)(http://blog.youkuaiyun.com/jiangsheng/archive/2005/12/24/561501.aspx) Jiangsheng的优快云 Digest (Oct 2005)(http://blog.youkuaiyun.com/jiangsheng/archive/2005/12/27/56327原创 2005-12-24 20:24:00 · 59451 阅读 · 4 评论 -
Win32 & .Net Q&A 200509
优快云 讨论总结系列:Jiangsheng的优快云 Digest (Dec 2005)(http://blog.youkuaiyun.com/jiangsheng/archive/2005/12/24/561501.aspx) Jiangsheng的优快云 Digest (Oct 2005)(http://blog.youkuaiyun.com/jiangsheng/archive/2005/12/27/56327原创 2005-09-13 22:06:00 · 29547 阅读 · 4 评论 -
MFC,欢乐与痛苦
MFC提供了许多十分有用的类和对象,在很多时候在Office插件、BHO、常规DLL这样的工程中加入MFC支持是一个不错的选择。但是,MFC中的很多功能,例如资源查找,消息预处理等等都依赖于在进程或者线程创建时被初始化的MFC内部数据;而对于需要添加MFC支持的工程,这些数据并不会被自动地初始化。这时候使用一些MFC的功能,例如使用CString从字符串表加载一个字符串,或者使用CDialog:原创 2005-08-20 13:16:00 · 4570 阅读 · 0 评论 -
在使用浏览器控件的程序中判断HTTP错误
在自动化浏览器控件提交表单之后,浏览器控件可能会在浏览超时时重定向到一个错误页面。有时需要用代码控制页面返回之后重新提交表单。IE6.0之前的版本浏览器控件没有获得HTTP状态的接口。一个很依赖于网站设置的方法是,捕获TitleChange事件,在页面标题包含"找不到页面"或者"Page Not Found"之类的字符串时,认为浏览失败。另一个方法是处理BeforeNavigate2事件,用win原创 2005-04-08 05:15:00 · 4275 阅读 · 1 评论 -
《转换指南: 将程序从托管扩展C++迁移到C++/CLI》译后记
终于把Stan Lippman先生的这篇文章译完了。从去年4月在全球MVP峰会上拿到这篇文章的手稿到现在,差不多一年过去了。虽然当时的Visual Studio 2005还不支持一些语法,但是我和董颖涛对新的C++/CLI语言都很感兴趣,在当时就讨论过翻译的问题。之后我就开始翻译这篇文章,但是进度一直很慢——主要是杂务太多、语言上的困难(尽量避免误解和词不达意的情况,以及斟酌用词的选择)。在1月份原创 2005-03-17 07:28:00 · 2934 阅读 · 1 评论 -
十年MFC经历认识的Microsoft技术[转]
在优快云看见一个老程序员的感想,虽然是关于MFC的讨论,但是对其他语言的开发者也有借鉴之处。转自优快云技术社区(http://community.youkuaiyun.com),更多内容可以在http://community.youkuaiyun.com/expert/Topicview1.asp?id=3834281 找到。作 者:sunhui (MFC.NET) 一、初识MFC 我最初知道MFC大概是在1原创 2005-03-11 04:08:00 · 4698 阅读 · 3 评论 -
Win32 to .NET API Map
.Net类库提供了Windows API的封装。下面的文章描述了实现类似Win32函数功能的.Net架构1.0和1.1API。Microsoft Win32 to Microsoft .NET Framework API Map只有一小部分的Win32函数在.Net中有对应,但是会越来越多。部分新的API不会提供Win32函数版本。其中已知的有Avalon的高层函数。建议从Win32转移到.Net原创 2005-03-05 06:25:00 · 2228 阅读 · 0 评论 -
Win32 & .Net Q&A
优快云 讨论总结系列:Jiangsheng的优快云 Digest (Dec 2005)(http://blog.youkuaiyun.com/jiangsheng/archive/2005/12/24/561501.aspx) Jiangsheng的优快云 Digest (Oct 2005)(http://blog.youkuaiyun.com/jiangsheng/archive/2005/12/27/56327原创 2005-02-28 08:00:00 · 12218 阅读 · 1 评论 -
Good Bye SOAP ToolKit , Hello Webservice
作为Webservice的底层,SOAP在非托管代码调用Webservice的时期做出了很大的贡献,但是随着微软在.Net这条路上越走越远。SOAP ToolKit的开发也停止了。由于对SOAP ToolKit 的技术支持即将到期,所以我猜测最近发布的SOAP ToolKit 3.0 (http://www.microsoft.com/downloads/details.aspx?FamilyID原创 2005-02-06 19:34:00 · 2381 阅读 · 1 评论 -
IStream接口和CString之间的转换
问:如何传递CString中包含的字符串到具有IStream类型参数的函数?问:如何根据获得的IStream接口指针获得字符串?答:MFC7中的未归档类CStreamOnCString实现了IStream接口访问封装的CString类型的m_strStream成员。如果你没有MFC7,可以用CreateStreamOnGlobal创建IStream的内存流实现对象,之后调用IStream::Wri原创 2005-01-24 10:09:00 · 6002 阅读 · 1 评论 -
限制应用程序的实例数目
某些应用程序处理紧缺资源,例如可擦写光驱、串口或者大量内存,通常不希望这种应用程序的多个实例同时运行。实际上你没有办法限制用户只能启动一次。你可以做到的是在应用程序启动之后查找是否用户启动了另一个实例。如果没有找到现存的实例,应用程序以正常方式启动。否则,通常的处理是退出。要查找现存的实例,可以查找进程列表,比较每一个进程的文件名称和本应用程序的文件名称,如果找到了和文件名匹配的进程,那么认为应用原创 2005-01-22 13:46:00 · 2245 阅读 · 1 评论 -
编程控制活动桌面,用ActiveX控件来增强桌面的功能
活动桌面处理和一个例子 (http://www.vckbase.com/vckbase/vckbase10/vc/nonctrls/atlcomocx_02/1002001.htm)讲述了使用IActiveDesktop接口可以做到的事情。活动桌面允许在桌面上显示HTML网页,这也意味着我们可以在桌面上的项目中以在网页中使用ActiveX控件来对网页进行扩展的方式来提供丰富的内容。但是不建议在桌面原创 2005-01-22 13:33:00 · 3018 阅读 · 2 评论 -
Jiangsheng的优快云 Digest (Oct 2005)
优快云 讨论总结系列:Jiangsheng的优快云 Digest (Dec 2005)(http://blog.youkuaiyun.com/jiangsheng/archive/2005/12/24/561501.aspx) Jiangsheng的优快云 Digest (Oct 2005)(http://blog.youkuaiyun.com/jiangsheng/archive/2005/12/27/56327原创 2005-12-27 00:16:00 · 18497 阅读 · 1 评论 -
Jiangsheng的优快云 Digest (Jan 1 2006)
优快云 讨论总结系列:Jiangsheng的优快云 Digest (Dec 2005)(http://blog.youkuaiyun.com/jiangsheng/archive/2005/12/24/561501.aspx) Jiangsheng的优快云 Digest (Oct 2005)(http://blog.youkuaiyun.com/jiangsheng/archive/2005/12/27/56327原创 2006-01-01 15:58:00 · 8608 阅读 · 0 评论 -
Jiangsheng的优快云 Digest(April 3, 2006)
为了便于搜索,这里尽可能保留了论坛上讨论的原文,但是这并不表示本人赞同帖子中的表述方式和观点。优快云 讨论总结系列: Jiangsheng的优快云 Digest(March 4, 2006) (http://blog.youkuaiyun.com/jiangsheng/archive/2006/03/05/615714.aspx) Jiangsheng的优快云 Digest原创 2006-04-03 13:45:00 · 14225 阅读 · 10 评论 -
浏览器控件和IE的区别
由于浏览器控件很多时候是为了兼容企业内网而开发,在启用新功能上比IE更加保守,即使是用FEATURE_BROWSER_EMULATION调了IE版本也会有很多功能默认不启用。另外,IE新版本禁用的旧功能也会因为兼容而在Webbrowser控件里仍然保留。FEATURE_ADDON_MANAGEMENT 应用用户在IE加载项管理器的配置。 IE默认启用,浏览器控件默认禁用。没什么用。话说有浏览...原创 2019-04-08 01:43:58 · 2667 阅读 · 6 评论 -
选择剪贴板格式顺序
在复制数据到剪贴板时,一个应用程序应该提供尽可能多的格式使得更多的程序能够识别剪贴板上的数据。例如IE将复制的HTML保存为CF_UNICODETEXT、CF_TEXT和CF_HTML等格式。很多程序在识别剪贴板数据的时候,在找到第一个支持的格式时就停止搜索。有的程序支持粘贴时选择格式(例如Word里面的选择性粘贴),但是这样的程序是例外,在粘贴时支持多种剪贴板格式的程序并不多。为了避免数据往返时的数据丢失,在决定剪贴板格式顺序的时候,包含最多信息的格式应该放在第一个,而包含较少的放在后面,包含最少信息原创 2013-08-10 07:44:39 · 7468 阅读 · 2 评论 -
分析Hilo项目
Hilo项目的类关系图,使用Visual Studio 2010的可视化和建模功能包创建。Hilo项目是微软的一个用于演示Windows 7 API和Visual C++ 2010的功能的一个开源项目。这个项目不仅演示了Windows API的使用,而且也提供了设计和开发高性能Windows程序的建议。这个项目的目标在它的twitter主页表现无遗:将开发本地代码重新作为重点。这个项目是基于免费的Visual C++ Express和Windows 7 SDK,这意味着更多的程序员可以尝试这个项目而不必购买原创 2010-06-25 06:09:00 · 10056 阅读 · 5 评论 -
DirectUI和无窗口用户界面
DirectUI/DirectUser是一个用户界面框架(http://msdn.microsoft.com/en-us/library/system.windows.automation.automationelement.automationelementinformation.frameworkid.aspx)。用Spy++可以在MSN Messenger、Windows XP、Office原创 2010-03-22 14:08:00 · 30425 阅读 · 14 评论 -
Windows Installer自动修复造成注册表内容重置
这几天碰到个很奇怪的问题,软件安装完了之后,使用正常,但是在重新启动之后注册表里面的用户设置居然丢失。进注册表看的时候发现注册表键都在,只是值的内容没了。根据Process Monitor的报告,是Windows Installer在程序自动启动的过程中自动修复的时候把注册表里面的用户设置重新初始化了。解决办法很简单,就是在安装的时候不初始化注册表,只在运行的时候动态创建键值。这样在卸载的原创 2009-01-31 10:18:00 · 7151 阅读 · 1 评论 -
关于自动完成功能的一段会话
已经是下午三点了。太阳已经不再直射软件开发部的窗户。在窗前的电脑桌边,程序员甲斜靠在他的真皮靠背椅上,瞪着天花板。“怎么了?”去饮水机倒水路过程序员甲背后的程序员乙说:“你又卡住了?”“是啊!”程序员甲叹了口气,说:“那个该死的自动完成功能问题太多。”他深呼吸了一下,甩甩头说:“再搞不出来我就得和老板谈谈是不是要取消这个功能了。”“你设置了TextBox类的AutoCompleteCu原创 2007-10-01 10:15:00 · 11065 阅读 · 8 评论 -
Windows Vista SDK,Visual C++ 2005 SP1和Merge Module Hell
使用过DLL的人都知道,重用二进制的代码很容易造成DLL地狱,这也是为什么Windows引入系统文件保护的原因之一。在Visual C++2005中引入的程序集清单(Assembly Manifest)看起来似乎可以解决这个问题,但是很多人发现在把Visual Studio更新到SP1后创建的安装程序项目不再能创建可以正常运行的安装程序。他们得到的是一个错误消息:应用程序配置错误,请重新安装应用程转载 2007-04-11 19:07:00 · 10103 阅读 · 0 评论 -
Detect Input Method Changes
From http://msdn.microsoft.com/library/en-us/wceui/html/_wcesdk_Programming_an_Input_Panel.asp When the user changes the state of the input panel, the OS sends out a WM_SETTINGCHANGE message to al原创 2006-09-17 23:49:00 · 2112 阅读 · 0 评论 -
Access Windows XP SP2 Security Center via WMI
From http://www.pcmag.com/article2/0,1759,1639276,00.aspAccording to Microsoft, WMI is the Microsoft implementation of Web-Based Enterprise Management (WBEM), an industry standard for accessing ma原创 2006-09-18 04:49:00 · 4356 阅读 · 1 评论 -
Q:实现IContextMenu出现C2787错误:“IContextMenu”:没有与该对象关联的GUID
From: http://community.youkuaiyun.com/expert/Topicview2.asp?id=4853965A:There are two header files in VC.NET, one in Vc7/include and the other in Vc7/PlatformSDK/include. The former splits off the smart原创 2006-09-17 23:30:00 · 4040 阅读 · 0 评论 -
Jiangsheng的优快云 Digest (Jan 21 2006)
优快云 讨论总结系列: Jiangsheng的优快云 Digest (Jan 7 2006)(http://blog.youkuaiyun.com/jiangsheng/archive/2006/01/07/573288.aspx) Jiangsheng的优快云 Digest (Jan 1 2006)http://blog.youkuaiyun.com/jiangsheng/arch原创 2006-03-05 05:00:00 · 10725 阅读 · 2 评论 -
Jiangsheng的优快云 Digest(March 4, 2006)
为了便于搜索,这里尽可能保留了论坛上讨论的原文,但是这并不表示本人赞同帖子中的表述方式和观点。优快云 讨论总结系列: Jiangsheng的优快云 Digest (Jan 21 2006)( http://blog.youkuaiyun.com/jiangsheng/archive/2006/03/05/615669.aspx) Jiangsheng的优快云 Digest原创 2006-03-05 09:25:00 · 46555 阅读 · 5 评论 -
How To Detect If an Application Has Stopped Responding
简介:本文描述了使用C++、VB、Windows API和.Net类库如何判断一个进程是否停止了响应。没有一个明确的“停止响应”的定义,例如对于Internet Explorer或者Word 2000这样的多顶层窗口应用程序,可能存在部分顶层窗口失去响应的情况,这时很难定义应用程序是否停止了响应。但是一般来说,很多应用程序只有一个标志性窗口(或者叫主窗口)。如果主窗口在一段时间内不响应用户操作的时原创 2004-12-31 06:10:00 · 6341 阅读 · 2 评论 -
捕捉屏幕的时候包含鼠标
讨论参见http://search.youkuaiyun.com/expert/topicview1.asp?id=2307620默认情况下屏幕捕捉下来的内容不包含鼠标的,但是可以把鼠标画到捉下来的图像里面LPBITMAPINFOHEADER captureScreenFrame(int left,int top,int width, int height,int tempDisableRect){#ifnd原创 2004-12-17 03:13:00 · 5460 阅读 · 0 评论 -
在浏览器控件中启用自动完成功能
自动完成功能在浏览器控件中默认是禁用的(但是没有任何文档提到这一点……),但是可以通过实现IDocHostUIHandler,在GetHostInfo方法中在填充DOCHOSTUIINFO结构的dwFlags成员时设置DOCHOSTUIFLAG_ENABLE_FORMS_AUTOCOMPLETE标识位来启用。关于如何实现IDocHostUIHandler,可以参考http://www.csdn原创 2004-01-09 14:45:00 · 2419 阅读 · 0 评论 -
如何: 在Windows2000中动态禁用/启用Ctrl-Alt-Delete
如何: 在Windows2000中动态禁用/启用Ctrl-Alt-Delete此文章的信息应用于:Microsoft Windows 2000本文的更新信息位于http://blog.joycode.com/jiangsheng/archive/2004/07/20/27909.aspx单击这里下载本文的代码。概要此文章的信息来自原创 2003-11-09 23:03:00 · 12414 阅读 · 1 评论 -
结合ADO、ADOX和MFC的文档/视图/框架架构创建和打开Access数据库
本文描述了如何在MFC的文档/视图/框架架构中使用ADO和ADOX来创建和打开数据库。预备阅读在阅读本文之前,建议先对COM,数据库和MFC的文档/视图/框架有一个基本的了解。推荐阅读下列文章MFC技术文章TN025: Document, View, and Frame Creation微软知识库文章 Q183606 ActiveX Data Objects (AD原创 2004-03-15 09:16:00 · 6910 阅读 · 3 评论 -
浏览器集成教学--在浏览器程序中添加宏支持
浏览器集成教学--在浏览器程序中添加宏支持这个教程提供在浏览器程序中添加宏支持的方法,你会看到如何给MFC的程序添加宏支持。这篇文章也讨论了如何扩展VC6中的CHtmlView的功能,如何实现MDI结构的浏览器,以及如何分析DHTML的文档结构。单击这里下载本文的代码本文分为以下部分前提和需求 介绍 活动脚本 为应用程序添加脚本支持 安全性原创 2003-11-09 23:04:00 · 23460 阅读 · 7 评论 -
如何使窗口不在任务栏上出现
本文翻译自http://support.microsoft.com/kb/205158/ 如何:使窗口不在任务栏上出现ID: Q205158 此文章的信息应用于:Microsoft Win32 软件开发包(SDK), 基于平台: Microsoft Windows 95 Microsoft Windows 98 Microsoft Wind原创 2001-08-08 23:31:00 · 7216 阅读 · 0 评论 -
在浏览器中粘贴时替换剪贴板数据
在某些时候,可能需要覆盖剪贴板的数据,例如过滤聊天时在输入窗口粘贴非文字格式的信息。对于浏览器控件的编辑模式,浏览器提供了IDocHostUIHandler接口来支持粘贴时提供一个替代的数据源来覆盖剪贴板的数据。下面的代码描述了如何过滤除了CF_TEXT之外的剪贴板格式 HRESULT CHtmlCtrl::OnFilterDataObject(IDataObject * pDat原创 2004-03-20 23:57:00 · 4338 阅读 · 0 评论 -
分析MFC中的映射
分析MFC中的映射条件查找映射MFC中大量使用了BEGIN_XXX_MAP这样的宏,以及映射进行查找优化,例如消息映射,OLE命令映射,以及接口等等。每个映射包含一个指向基类的映射的指针。这样,当一个类需要根据一定的条件查找一个对象时,它会查找本类对象,如果没有找到,那么会查找基类,直到根基类。这类查找包含Windows消息,命令,事件和OLE命令的分发,和对象实现的接口的查询等等原创 2004-01-05 16:28:00 · 4650 阅读 · 0 评论 -
使用虚列表和自画实现文件夹的缩略图显示
本示例演示了列表控件的虚列表和自画功能,也演示了一些系统外壳的函数和接口的使用方法。单击 这里 下载本文的代码。如果在编译示例程序的时候出现问题,你需要去http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ 升级你的头文件和库文件预备性阅读在阅读本文之前,建议先对列表视图控件和系统外壳有一个基本的了解。建议阅读以下SDK文原创 2003-11-20 00:25:00 · 16422 阅读 · 4 评论 -
关于MSHTML
本文翻译自http://msdn.microsoft.com/workshop/browser/mshtml/overview/overview.aspMSDN Home > MSDN Library > Programming and Reusing the Browser > Overviews/Tutorials 关于MSHTML访问动态HTML(DHTML)对象模型的所有接口原创 2003-08-15 08:20:00 · 19263 阅读 · 3 评论 -
浏览器集成教学 自定义浏览器
本文翻译自http://msdn.microsoft.com/workshop/browser/hosting/wbcustomization.asp 本文的更新版本位于http://blog.youkuaiyun.com/jiangsheng/archive/2004/11/07/170742.aspx自定义浏览器本教程提供了自定义浏览器控件的行为和外观的一些方法。你将看到高级的宿主接口,IDoc原创 2004-01-13 10:08:00 · 6214 阅读 · 4 评论