【笨嘴拙舌WINDOWS】计时器精度】的更多相关文章

WINDOWS的大多数系统并非实时操作系统,所以不能规定计算机在某个精确到纳秒的时间让计算机做某项任务,如果规定了时间WINDOWS也将需要在完成了线程调度后,经行任务执行! 也就是说,如果你的应用程序指定计算机在 8:30:29.365秒执行A程序,那么程序真正执行的时间可能是 8:30:29.369. 8:30:29.378. 8:30:29.421等等,总之是一定大于等于你指定的时间 同理,使用windows的SetTimer函数指定interval(毫秒为单位)时,也不能够精确!Wind…
“DC: Device content 设备描述表.通常指显示器,或者打印机设备的描述” 如果你不是从事打印机方面的编程,那么就可以将DC简单的理解为显示器的属性表.WINDOWS将内存里面的东西通过显示器展现出来,使用了显示器的绘制(在显示器中间画一条黑色水平1个像素宽的直线)属性,这些属性被WINDOWS装入了一个叫做DC的结构里面!应用程序通过使用DC来绘制自己的窗体. 如何获得DC 1.在处理WM_PAINT消息的时候使用 PAINTSTRUCT ps ; hdc = BeginPain…
要将文件显示成图片这其中需要经过 1.将磁盘文件内容读取到内存: 2.将文件对应内存里包含的像素为以及像素信息转化为显示驱动器能理解的格式: 3.将转化过后的内存送到显卡的缓存区 4.显示器读取缓存现实于屏幕 在GDI中,WINDOWS不允许用户操作硬件,所以提供了用于显示位图文件到屏幕的API: SetDIBitsToDevice   直接将DIB显示到屏幕上 ( hdc, xDst, yDst,         (xDst,yDst)指定图片左上角的在屏幕上的坐标 cxSrc,       …
设备无关图在windows上面就是一个扩展名为.bmp的文件.我们知道每一种文件都是一个二进制流,只是这个二进制流的开头几个字节是规定了文件的格式..bmp的文件格式如下 “其中信息头是windows3.0版本,扩展板,V4,V5几个版本” windows3.0该图的详细结构如下: 扩展板结构如下: V4: V5 是在V4的基础上增加了 •bv5ProfileData •bv5ProfileSize •bv5Reserved 为了理解清楚请看下图 该图的二进制数据 我们来分析一下…
GDI对象在windows中可以描述成为一次绘画操作时可使用的抽象工具.包括(画笔.画刷.字体.区域.调色板.位图等) GDI对象里的对象概念和在编程领域中面向对象编程的对象概念是不一样的! GDI对象更多的偏重于是一个实体,而编程中的对象是一个能提供各种服务抽象概念. 在Windows中可以通过如下方式查看一个进程所拥有的GDI对象总数 1.打开任务管理器. 2.点击查看——选择列 3.选中“GDI对象” 然后再任务管理器中就能够查看了 在Windows中这种Gdi位图就叫做DDB(Devic…
光电鼠标器是通过红外线或激光检测鼠标器的位移,将位移信号转换为电脉冲信号,再通过程序的处理和转换来控制屏幕上的光标箭头的移动的一种硬件设备. 换句话说,鼠标无时无刻不在监视着人类的活动,当人类用意识去控制鼠标移动时,鼠标就会捕获到人的某种操作(移动鼠标,按键等),捕获之后,立即将消息发送给操作系统,操作系统通过消息分析出鼠标的位置,查找该位置下对应的窗口,然后将消息翻译成windows能理解的消息转发给窗口对应的应用程序! 在默认情况下,windows查找的是鼠标光标下的窗口:但是如果程序调用了…
该程序能够监视Windows剪切板的内容(文字和图片) 其思路是 先调用SetClipBoardViewer(Self.Handle),让Windows剪切板内容发生改变之后,通知本程序: 然后截获WM_DRAWCLIPBOARD消息来查看剪切板里面的内容: 最后关闭程序时调用changeclipboardChain(handle,hwndNextViewer)注销监视剪切板 再处理WM_CHANGECBCHAIN消息来真正撤销 主要代码如下: procedure TForm1.FormCrea…
Windows剪贴板是一种比较简单同时也是开销比较小的IPC(InterProcess Communication,进程间通讯)机制.Windows系统支持剪贴板IPC的基本机制是由系统预留的一块全局共享内存,用来暂存在各进程间进行交换的数据:提供数据的进程创建一个全局内存块,并将要传送的数据移到或复制到该内存块:接受数据的进程(也可以是提供数据的进程本身)获取此内存块的句柄,并完成对该内存块数据的读取. 为使剪贴板的这种IPC机制更加完善和便于使用,需要解决好如下三个问题:提供数据的进程在结束…
通过记录键盘和鼠标位置和输入信息,然后模拟发送,就能够创建一个按键精灵! 主要代码如下: library KeyBoardHook; { Important note about DLL memory management: ShareMem must be the first unit in your library's USES clause AND your project's (select Project-View Source) USES clause if your DLL exp…
键盘消息 Windows系统无论何时只有一个窗口(可能是子窗口,也就是控件)能获得焦点. 焦点窗口通过windows消息来响应人的键盘操作,与键盘相关的常用消息罗列如下: WM_KEYDOWN   按下键 WM_KEYUP         松开键 WM_SYSKEYDOWN   按下系统键(Alt) WM_SYSKEYUP         松开系统键 WM_CHAR  按下松开后WINDOWS产生的字符消息  (A B C D ...) WM_SYSCHAR  按下松开后WINDOWS产生的系统…