Windows
文章平均质量分 63
会思考的草
这个作者很懒,什么都没留下…
展开
-
Windows中Drag&Drop初探(二)
五、OLE拖放实现 MFC本身的CView类是支持拖放操作的,通过研究CView类的源码,大体知道它的实现原理是这样的:CView类中有一个COleDropTarget类的对象,在视图窗口初始化时,调用COleDropTarget类成员函数Register(),以此在系统中注册该视图窗口为拖放接收窗口。当进行拖放操作的鼠标指针处于视图窗口范围内时,COleDropTarge类会做出反应,它的O原创 2004-06-15 10:56:00 · 4243 阅读 · 1 评论 -
关于链接警告LNK4070
这个警告一般发生在工程为DLL项目,且对Debug版和Release版分别指定不同的输出文件名的情况下,因为有人喜欢在Debug版的dll文件名後面加一个‘D’以示区别。 例如:对Debug版,我指定输出文件为LibD.dll,对Release版指定为Lib.dll。这时编译的时候就会出现这个警告。解决方案有二:第一个方法,删掉VC向导自动生成的DEF文件,改在代码中使用_declspec(dll原创 2006-06-28 15:26:00 · 2655 阅读 · 0 评论 -
添加域后如何将域用户加入本地管理员组
用net命令:net localgroup Administrators /add springs.com/dmbi将springs.com域中的用户dmbi加入本地的Administrators组。原创 2007-01-25 13:18:00 · 16574 阅读 · 0 评论 -
SoftICE出现Error Code 31无法启动的解决办法
出现这个症状多半是因为DaemonTools。DaemonTools 4.0以上版本所用的sptd.sys驱动和SoftICE有冲突(害我到现在还只能用3.47版的),如果你已经不幸安装了DaemonTools,那么即使卸载掉也是无法启动SoftICE的,系统报告:---------------------------SoftICE Start Failure-----------------原创 2007-08-14 11:42:00 · 6613 阅读 · 2 评论 -
Force Windows spool file use jobid as its name
On Windows NT/2000 you will find the files by name xxxx.spl where xxxx was the JobID returned by the EnumJobs API. However, Windows XP/2003 create spool files named FPxxxx.spl where xxxx is no longer转载 2007-08-15 18:51:00 · 1505 阅读 · 0 评论 -
缺少streams.h的解决方法和DirectShow开发环境的搭建
这几天在学DirectShow的开发,一个streams.h头文件折腾了一整天才搞定。简单总结一下出现缺少streams.h的解决方法和DirectShow开发环境的搭建。开发包方面,我用的是VC2005+Windows Server 2003 SP1 SDK。微软真是神经,把DirectShow又从DirectX中拿出去了。这不是调戏咱们程序员么……streams.h这个头文件现在在%P原创 2007-08-21 12:02:00 · 11318 阅读 · 4 评论 -
与VC6相配的SDK版本
一直没有注意到这个问题,不管下什么SDK,DDK都是拣最新的,下午搞出来了一堆错误,头大,才发现微软已经放弃了对Visual Studio 6的支持,这个问题就逐渐凸现出来了,花了一下午时间总算整理了个头绪,希望对同样面对这个问题的xdjm们有帮助:MSDN,这个地球人都知道,最后一个支持VS6的版本是2001年10月版;Platform SDK,最后一个支持VC6的Platform SD原创 2007-08-21 16:41:00 · 4219 阅读 · 2 评论 -
IFS FAQ(转自OSR)
IFS FAQ Q1 How difficult is it to port a Windows 9x based file system or file system filter driver to Windows NT/2000/XP?Q2 Is there a WDM model for file systems or file system filter drivers?Q3 H转载 2007-08-24 11:07:00 · 3687 阅读 · 0 评论 -
利用Windows XP Service Pack 2 Checked Build打造Partial Checked Build System
一、什么是Checked build Windows Checked Build通俗地说就是Debug版的Windows,与之相对的是Retail build,一般我们在市面上买到的Windows都是Retail build。两者的code base相同,只不过Checked build是在DBG编译开关打开的情况下编译出来的。和Retail build相比,Checked build关闭了原创 2007-08-29 03:33:00 · 4484 阅读 · 7 评论 -
VC6工程迁移到VC2008 SP1中,使用MFC 9.0静态链接后运行错误的解决办法
微软前不久发布了Visual Studio 2008 Service Pack 1,其中包含了据说是有BCGSoft提供的一些新类,可以直接使用Office 2007/Visual Studio 2005的界面,闻之大喜,终于不用再眼馋BCGControlBar和Xtreme Toolkit这些付费的库了,为了获得VC6的界面,俺还在用自己4年前写的库:)花了半天时间把手上的工程由VC6迁移到原创 2008-09-10 22:38:00 · 3964 阅读 · 2 评论 -
MFC 9.0新界面字体的美化
接上一篇。据说这个bug在新版的BCGControlBar Library中已经解决了。咱是免费的,只能自己动手。字体的设置保存在一个全局变量afxGlobalData中,此变量定义AfxGlobals.h中。字体是在AFX_GLOBAL_DATA::UpdateData中设定的。如果要一劳永逸,就得rebuild MFC,不推荐这样,还是等微软更新吧。我的工程中只用到了菜单,tooltip和原创 2008-09-11 00:18:00 · 5089 阅读 · 1 评论 -
Windows NT 驱动程序开发人员提示——应注意避免的事项
下面是开发人员在使用 Windows NT 设备驱动程序时应当避免的事项列表: 1. 一定不要在没有标注 I/O 请求数据包 (IRP) 挂起 (IoMarkIrpPending) 的情况下通过调度例程返回 STATUS_PENDING。 2转载 2006-05-09 12:00:00 · 1921 阅读 · 0 评论 -
sfilter流程浅析
基本思路其实不复杂,sfilter先创建一个control device object,用于接受应用程序的控制,然后创建多个device object,绑定到文件系统驱动的device object上(譬如NTFS,FAT,CDFS,等等),这里要注意不要绑到文件系统识别器(file system recognizer)上,它是用来加载真正的文件系统驱动程序的。绑定完文件系统驱动的device o原创 2006-09-18 20:24:00 · 2884 阅读 · 0 评论 -
MFC控制条窗口布局原理(上)
MFC控制条窗口布局原理——by Koote Bi@fudan cse一、框架窗口让我们先从框架窗口开始。当框架窗口改变大小时会收到WM_SIZE消息,CFrameWnd::OnSize负责处理此消息,该函数调用RecalcLayout来重新安置各子窗口,它的主体代码如下:if(GetStyle() & FWS_SNAPTOBARS){CRect rect(0, 0,原创 2006-09-04 11:29:00 · 4256 阅读 · 1 评论 -
流微型驱动开发指南(五)
PORT_CONFIGURATION_INFORMATION各成员解释如下:·SizeOfThisPacket 设定本结构的大小,由Class Driver负责填写该域。·HwDeviceExtension 指向Minidriver的设备扩展结构(Device Extension)的指针。Minidriver会藉此buffer记录一些对Minidriver来说是公有的,但是对外是私有的信息。此原创 2004-06-15 15:43:00 · 1806 阅读 · 0 评论 -
CListCtrlEx:一个支持文件拖放和实时监视的列表控件——用未公开API函数实现Shell实时监视
一、需求无论何时,当你在Explorer窗口中创建、删除或重命名一个文件夹/文件,或者插入拔除移动存储器时,Windows总是能非常快速地更新它所有的视图。有时候我们的程序中也需要这样的功能,以便当用户在Shell中作出创建、删除、重命名或其他动作时,我们的应用程序也能快速地随之更新。二、原理Windows内部有两个未公开的函数(注:在最新的MSDN中,已经公开了这两个函数),分别叫做SHChan原创 2004-06-15 10:56:00 · 3656 阅读 · 6 评论 -
Windows中Drag&Drop初探(一)
一、基本概念 拖放,是指用鼠标拖动的方法,在不同程序的窗口之间、同一个程序的不同窗口之间或同一程序同一窗口的不同控件之间,进行移动、复制和粘贴等操作的技术。拖放操作是在操作系统的帮助下完成的。被拖动的对象首先向操作系统注册它使用的数据格式,并按指定的数据格式提供数据,拖放操作结束时,接收拖放的窗口按指定的数据格式提取有关数据,并根据提取的数据生成相应的对象。 二、两种拖放方式原创 2004-06-15 10:56:00 · 7526 阅读 · 3 评论 -
流微型驱动开发指南(一)
流微型驱动开发指南——翻译:codewarrior@HS5@HS5注意:本节详述了已经过时的Stream.sys类驱动。随着Microsoft Windows XP的正式发布,Microsoft建议硬件制造商考虑使用下一代Class模型——AVStream——来开发新的,非音频多媒体驱动程序。相关细节可参看《AVStream Overview》一章。Microsoft现在只对Stream.原创 2004-06-15 15:44:00 · 2110 阅读 · 0 评论 -
流微型驱动开发指南(二)
二、Stream Class和 Minidriver之间的接口流类接口(Stream Class Interface)主要由介于Class Driver和Minidriver之间的一系列的函数调用组成。Class Driver对请求的流程(Request Flow)进行控制,当有必要对适配器硬件进行存取时,它就调用适配器的Minidriver。Class Driver还负责对多处理器和中断同步作出原创 2004-06-15 15:44:00 · 1891 阅读 · 0 评论 -
流微型驱动开发指南(三)
三、开始着手编写Stream Minidriver设计Stream Class Driver的主要目标,就是处理两个工作,一是处理操作系统,操作系统包含了对复杂的对多处理器的支持,二就是对内核流进行支持。这样Minidriver只需要对它必须执行的,与设备相关的操作进行处理即可。Class Driver为Minidriver分配内存空间,对Minidriver可能用到的NT内核资源进行登记,并(随原创 2004-06-15 15:44:00 · 1400 阅读 · 0 评论 -
流微型驱动开发指南(四)
p五、Minidriver的初始化过程当操作系统初次初始化Stream Class Minidrivers的时候会调用Minidriver的DriverEntry例程。Minidriver必须调用StreamClassRegisterMinidriver向Class Driver注册它自己。关于Stream Class Minidrivers的DriverEntry例程,请见第六部分。在Minid原创 2004-06-15 15:44:00 · 1422 阅读 · 0 评论 -
Windows中Drag&Drop初探(三)
至此,我们成功地为CListCtrlEx添加了文件拖入操作的支持。一个完整的拖放操作,还包括拖出动作,所以必须要为该类再添加拖出操作,即,将列表中的某一项或者多项拖出成为一个文件。这就需要用到另一个类:COleDataSource。具体步骤如下: 在CListCtrlEx中加入一个COleDataSource的实例,并映射列表框的LVN_BEGINDRAG消息处理函数,在此我们添加拖出操作的代原创 2004-06-15 10:56:00 · 3985 阅读 · 1 评论 -
深入理解和使用Windows NT驱动程序的执行上下文(一)
深入理解和使用Windows NT驱动程序的执行上下文原作:Open System Resources,Inc.编译:codewarrior@fudan cse 要理解Windows NT驱动程序,最重要的概念之一就是驱动程序执行时的所处的“执行上下文”(Execution Context)。深入理解这个概念,并小心地应用你所掌握的关于它的知识,可以帮助你编写更快速高效的驱动程序。原创 2005-11-01 16:45:00 · 1924 阅读 · 0 评论 -
流微型驱动开发指南(六)
六、Minidriver的控制流程 下面要介绍的这几步,一般都和Minidriver的初始化、调用和卸载密切相关。将要用到的命令和结构在DDK的其他章节均有详细描述。 Minidriver的初始化、调用和卸载的步骤如下: 1.PnP管理器枚举到Minidriver所支持的硬件适配器插入,然后PnP管理器通过检查注册表去解析所有相关的符号引用,并向I/O子系统发送请求。 2.I/O子系统加载Mini原创 2005-11-23 10:21:00 · 1437 阅读 · 0 评论 -
Solved: Metro Apps stopped working
I noticed this recently when I disconnected my Microsoft account from my Windows 8.1 machine. With the help of VS2013 debugger, I found that it was caused by a file permission issue, the metro app can原创 2014-02-25 09:29:49 · 1118 阅读 · 0 评论