代码改变世界

随笔分类 -  windows

bat编程基本知识

2013-12-18 13:29 by 钱吉, 322 阅读, 收藏, 编辑
摘要: 1 声明变量::注意=前后不要留空格。随便说一下,在bat中,连续两个冒号表示注释set var1=test如果要引用这个变量的话,可以这样写:%var1%2 echo off/onecho off 表示关闭echo打印命令echo on表示打开echo打印命令举例:echo "hello world"输出结果:echo "hello world""hello world"如果在这句话前面加上 echo off,则不会打印echo "hello world"这句,直接给出echo的结果echo offecho &q 阅读全文

动态链接库(DLL)总结

2013-07-11 21:24 by 钱吉, 6506 阅读, 收藏, 编辑
摘要: 以前的学习笔记,记录库的一点学习心得。主要是Windows下的静态库和动态链接库,动态链接库只写了关于非MFC的DLL,比较初级,适合和我一样的新手看看。有不对的地方请指出,有疏漏的地方请补充,如果您比较闲的话,呵呵,感激不尽。一:静态链接库 静态库(staticlibrary)将函数和数据编译进一个二进制文件,通常可以命名为*.lib,编译器在链接过程中,将这些二进制数据复制出来,并与调用库的其他模块数据组合在一起,形成最终的可执行文件,等以后使用这个可执行文件时,就不需要这个静态库的支持了。1在Windows下静态库的创建和使用在vs2010新建一个win32静态库工程,添加两个文件... 阅读全文

GetWindowRect和GetClientRect的区别详解

2013-07-08 16:08 by 钱吉, 69537 阅读, 收藏, 编辑
摘要: 一:关于坐标 MFC中绘图时经常涉及到坐标计算,GetWindowRect和GetClientRect这两个函数,是获取逻辑坐标系中窗口或控件(其实也是窗口)大小和坐标的常用函数了,有什么不一样的?先说说什么叫逻辑坐标?讲到逻辑坐标,它相对的一个概念是设备坐标,是为了屏蔽掉不同设备属性差别而设置的抽象坐标系,说白了,就是独立于设备坐标的统一接口,程序员不需要去在具体的设备上进行绘图操作,而只需要在虚拟的环境下进行绘图,就是CDC。然后由设备驱动去负责虚拟坐标到实际设备坐标之间的转换。通常逻辑坐标与设备坐标之间有不同的映射转换关系,缺省模式下的映射方式是MM_TEXT,这种方式下的逻辑坐标的方. 阅读全文

win32下的双缓冲绘图技术

2013-06-25 11:39 by 钱吉, 8765 阅读, 收藏, 编辑
摘要: 一:双缓冲原理 为了解决窗口刷新频率过快所带来的闪烁问题,利用双缓冲技术进行绘图。所谓双缓冲技术,就是将资源加载到内存,然后复制内存数据到设备DC(这个比较快),避免了直接在设备DC上绘图(这个比较慢)。打个简单的比方:有个画家在街边办了一个即时画展,在同一块画布上根据观众的要求画不同的图像,每当有一位观众制定要看什么画时,画家先把之前画布上的东西全部擦干净,再重新绘画。显然有一些经典的画像是大家都想看的,按照以前的老办法,画家每次都要重新画这幅图像,但这种擦了画,画了擦的方式很费时。所以画家想了一个办法,把这些经典画像预先用一块或几块画布画下来,等有人需要看时,把这些预备好的画布贴在现有画. 阅读全文

改变控制台的输出颜色

2013-06-05 22:44 by 钱吉, 340 阅读, 收藏, 编辑
摘要: 这里面只需要用到Windows API的一个函数:SetConsoleTextAttributemsdn上的说明如下:BOOL SetConsoleTextAttribute( HANDLE hConsoleOutput, // handle to screen buffer WORD wAttributes // text and background colors);ParametershConsoleOutput[in] Handle to a console screen buffer. The handle must have GENERIC_READ acc... 阅读全文

清理系统垃圾bat处理

2012-10-12 14:00 by 钱吉, 253 阅读, 收藏, 编辑
摘要: @echo offecho 正在清除系统垃圾文件,请稍等......del /f /s /q %systemdrive%\*.tmpdel /f /s /q %systemdrive%\*._mpdel /f /s /q %systemdrive%\*.logdel /f /s /q %systemdrive%\*.giddel /f /s /q %systemdrive%\*.chkdel /f /s /q %systemdrive%\*.olddel /f /s /q %systemdrive%\recycled\*.*del /f /s /q %windir%\prefetch\*.*r 阅读全文

批处理setlocal与变量延迟

2012-10-12 13:53 by 钱吉, 1064 阅读, 收藏, 编辑
摘要: 以下内容转自:http://www.hackbase.com/tech/2009-08-18/55046.html要想进阶,变量延迟是必过的一关!所以这一部分希望你能认真看。为了更好的说明问题,我们先引入一个例子。例1:@echo offset a=4set a=5 & echo %a%pause结果:4解说:为什么是4而不是5呢?在echo之前明明已经把变量a的值改成5了?让我们先了解一下批处理运行命令的机制:批处理读取命令时是按行读取的(另外例如for命令等,其后用一对圆括号闭合的所有语句也当作一行),在处理之前要完成必要的预处理工作,这其中就包括对该行命令中的变量赋值。我们现在分 阅读全文