随笔分类 - [14] 每日一练(Windows)
摘要:本练习我们工作的内容和上一节一样,监控被变更过的文件或目录, 只是实现的方式不一样。Windows提供了两种监控方式即: 同步、异步模式, 上一节我们使用的是同步方式,同步方式有个不好的地方就是在没有变更时返回终断可能强行关闭线程(可能是我能力有限没有找到合理的方式), ReadDirectoryChangesW 是阻塞式的,异步方式系统又提供了三方来获取被变更的文件、目录信息,我选用了完成端口方...
        阅读全文
            
摘要:在上一节有我们学习了如果监控指定的文件/目录发生了变更(Add, modify, delete, rename),但不知道具体发生了什么变更,变更了那一个文件
        阅读全文
            
摘要:我们日常使用电脑是可能有发生遇到过这样的现象,我们用notepad 或 ultraedit同时编辑同一个文件, 当我们在Save后切到别一个软件时会提示文件己发生变更,是否需要覆盖? 我们只能确定而不用人为的关闭再打开使用起来非常方便。今天我们就来学习这个实现原理。
        阅读全文
            
摘要:今天我们实现类似于TotalCommander的小程序,主要练习一下目录以及文件的一个基本操作如: create, copy, move, delete rename以及browser等
        阅读全文
            
摘要:今天例程通过模拟我们常用资源管理器进一步学习获取驱动器列表、文件遍历以及读取文件属性.
        阅读全文
            
摘要:本节我们学习打开和另存为对话框的使用以及最最常用的文件操作--文件创建、打开、读、写、关闭
        阅读全文
            
摘要:我们使用VS以及其他具有历史记录的软件时都会有一些使用本软件曾打开过的文件。 那这些文件通常是使用注册表做为数据记录的载体. 今天学习和上述通过类似,但我们使用注册表记录个人信息并当信息发生变化时能及时的更新程序以便保持同步.
        阅读全文
            
摘要:在Windows系统中我们常常会发现,安装了一个软件后,有些文件的图标被变成刚安装程序类似的ICON了。比如安装酷狗播放器后会发现电脑里的mp3的文件图像变成了酷狗的图标。这种行为我们会说, 这种格式把这个exe所关联了,关联了之后当双击运行这个文件时系统会先启动被关联的exe,并在exe中打开双击的文件(实现原理:双击之后系统会从注册表的读取这种文件关联的exe的路径进行启动,在启动时系统会...
        阅读全文
            
摘要:注册表在Windows中非常通用, 它相当于一个数据库, 许多应用程序用其作为数据的存储地, 在需要用的时候从注册表中通讯;它不像文件存储要在指定的存储中创建一个文件,而后进行数据写入或读出。 我们进入注册表可以通过[运行]->[regedit]启动注册表查看器, 查看以及修改注册表中相关键和值。
        阅读全文
            
摘要:在Window XP及以前系统中内置了一个ClipBrd的软件, 这个软件主要用于监视当前剪切板中内容。 今天我们复习并扩展前一节中所用的剪切板知识来实现类似这样的软件。 演示代码
        阅读全文
            
摘要:剪切板在Windows用途比较广泛 演示代码
        阅读全文
            
摘要:通过HOOK 技术来获取NotePad进入消息列表的消息信息 演示代码
        阅读全文
            
摘要:声明: 本文原于http://blog.csdn.net/rivershan/article/details/15781, 写此的作者对MSDN进行了翻译将加入了自己的注解,个人感觉写的非常到位,而且很全面所以借用他人之笔。 一、基本概念: 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进...
        阅读全文
            
摘要:今天我们学习对话框相关知识,对话框也是窗体,应而具与窗体相关的函数和属性。 对话框分为模态对话框以及非模态对话框. 模态对话框:用户想要对对话框以外的本应用程序窗体进行操作时,必须首先对该对话框进行响应;与模态对话框不同的是非模态对话框在不关闭对话框也可以操作本应用程序其他窗体。 创建两种对话框Windows提供几个API: 一、创建模态对话框 INT_PTR DialogBox(HINS...
        阅读全文
            
摘要:讲到Window通讯我们就一定会提到消息, 而对于消息通讯的方法大家也一定会说PostMessage, SendMessage. 是的,两个消息发送方法目的都是一样, 但达到的效果以及对系统的稳定性其实是不一样的,我们先分析一下PostMessage,它发送的消息入消息队列,这样的消息仅将消息放入到窗体消息队列后返回,什么时候执行调用者是不知道的所以我们通常称其为异步消息或非阻塞式消息同时此方法不...
        阅读全文
            
摘要:在前一节中我们学习了进程之间窗体与窗体进行消息(自定义消息, 广播消息, 系统消息[WM_COPYDATA]) 通讯, 本章中将练习同一进程中线程与线程之间消息如何通讯. 一、演示方法 在主窗体线程中创建一子线程, 并子线程函数中设立消息循环, 同时我们定义三个消息用于测试验证 #define WM_CLIENTTOSERVER...
        阅读全文
            
摘要:本例练习消息窗体的实现以及消息窗体收发消息; 对消息窗体的定义MSDN里描述大体是这样的, 父窗体指定为HWND_MESSAGE常量,它可以收发消息,没z-order, 不可遍历且不无能接收到广播消息仅做简单的消息分发; 我们可以在创建窗体时指定其父窗体为HWND_MESSAGE常量也可以将现有窗体通过SetParent将父窗体设为HWND_MESSAGE常量从而达到变成消息窗体的目的; 查...
        阅读全文
            
摘要:动画窗体主要指的是创建或显示时以及隐藏窗体陪随的动画显示或隐藏效果; Window 提供了一个叫AnimateWindow这样的API, 这个效果就是使用这个函数实现的. 1. 函数声明 BOOL AnimateWindow(HWND hwnd, DWORD dwTime, DWORD dwFlags); hWnd: 需动画效果的窗体句柄(此窗体要同属于...
        阅读全文
            
摘要:本例将提炼了Demo0049显示控件中的方法,单独演示如何截取窗体的背景以及仅截取窗体的控件界面图; 一、代码演示 仅截取窗体中控件的效果图 SendMessage(hWnd, WM_PRINT, (WPARAM)hDCMem, PRF_CHILDREN|PRF_CLIENT|PRF_ERASEBKGND|PRF_NONCLIENT|PRF_OWNED); ...
        阅读全文
            
摘要:本节我们继续学习UpdateLayeredWindow这个API, 通过它我们来实现一个阴影效果的窗体(像Window7窗体效果). 思路: 1. 创建二个层窗体, 一个作为控件窗件,另一个做阴影效果窗体; 2. 在第一个窗体实现各种控件创建以及相关逻辑处理,此窗体设为全透明; 3. 将第二个窗体重叠并保持重叠第一个窗体(即大小,位置,移动或改变...
        阅读全文
            
 
                    
                     
                    
                 
                    
                 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号