首页

代码片段:CFormView手动创建以及OnInitialUpdate

CFormView相比CDialog来说,多了个比较吸引人的优点:它继承自CScrollView。因此,天然的,CFormView就拥有了视图自动滚动的特性。 动态创建 继承自CFormView的子类,VS的代码生成器会自动使用如下的两个宏: DECLARE_DYNCREATE(子类的头文件) IMPLEMENT_DYNCREATE(子类的实现文件) 这两个宏经过展开后的即可使类具备动态创建的特性...

代码片段:使用对象来自动初始化(销毁)COM设施

考察以下代码片段: class CComIniter { public: CComIniter() : m_hr(CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE)) { } ~CComIniter() { if (SUCCEEDED(m_hr)) { ...

代码片段:清除资源管理器图标缓存  

Windows为了加快资源管理器的加载速度,对文件的图标进行了缓存。有时候,文件的图标更新了,但是在资源管理器下还是显示的原来的图标。 那么,如何清理资源管理器中的图标缓存,并重新构建图标缓存呢。 代码 @echo off taskkill /f /im explorer.exe attrib -h -s -r "%userprofile%\AppData\Local\...

代码片段:BAT脚本以管理员身份运行  

当在BAT批处理脚本中执行需要管理员权限的任务时,需要首先进行管理员权限提升,今天记录一下需要使用到的代码片段。 权限提升代码 @echo off setlocal set uac=~uac_permission_tmp_%random% md "%SystemRoot%\system32\%uac%" 2>nul if %errorlevel%==0 (...

脚本学习:du-查看Linux文件夹大小  

需求 在Linux系统中,大部分的功能都是通过命令行来完成的。有时我们想知道某个文件夹和它下面的所有子文件夹的大小信息,有对应的Linux指令可以实现吗?有! 命令 # du -h –max-depth=1 <要显示的目录路径,如果留空,则显示当前目录大小> 对命令的解释 1) Linux du指令主要用来显示每个文件和文件夹的磁盘使用空间。 2) -h 参数:其含义为hu...

脚本学习:%cd%和%~dp0的区别  

在编写自动化脚本过程中,经常会需要获取当前目录路径。 这里有两种方式,一种是%cd%,另一种是%~dp0,那么这两种方式有什么区别呢?今天就来具体讲一讲。 具体含义 %cd%:脚本执行的当前目录,需要注意的是,这里的当前目录有可能和脚本实际所在目录不一致。 %~dp0%:脚本文件所在的目录,注意,目录的路径为全路径,并且带结尾的\。 例如:我们编写一个简单的BAT脚本,命名为Test.bat,内容...

脚本学习:使用2>nul屏蔽错误输出  

我们在使用脚本命令进行一项操作的时候,如果命令执行出错,系统会给出错误提示。 以删除文件夹操作来举例,当使用rd命令尝试删除一个不存在的文件夹时,系统给出错误提示:系统找不到指定的文件。如下图所示: 如果不想看到错误提示,可以在rd命令后加上2>nul。如下图所示: 原理如下: 这里的>符号是重定向操作符,表明将前述命令的输出写入到文件或设备中,而不是显示在屏幕上。 这里的2表示一个标准错误的...

脚本学习:使用rd删除文件夹  

在编写脚本中经常会碰到删除文件夹的需求,这个文件夹可能是一个空的文件夹,也可能有子文件夹在里面,那么,如何使用脚本删除文件夹呢? 当对一个非空的文件夹执行rd操作时,系统会提示错误:目录不是空的,如下图所示: 我们可以看看rd的帮助文档,如下图所示: 解释一下,这里的/S选项可以用来删除子文件夹和文件,那么删除一个文件夹的脚本就可以这样编写: rd /S 当我们使用以上命令删除文件夹时,系统...

代码片段:获取系统所有IP  

在Windows系统中,可以支持多个网卡,比如有线的以太网卡,无线网卡,虚拟网卡等。如下图所示: 而一个网卡,其IP地址可以是DHCP自动分配,也可以手动设定。在手动设定模式下,还可以添加多个IP地址。如下图所示: 那么,如何通过代码的方式来获取所有的这些IP地址呢?废话少说,直接上代码吧! bool ShowAllIpAddr() { PIP_ADAPTER_ADDRESSES p...

脚本学习:grep-在一堆文件中查找指定的文本

工作中经常碰到的一个需求场景是:在一堆文件中查找包含特定文本的文件。 以下指令即可解决问题: 示例: 在当前目录下,查找所有.c文件中包含Test字符串的文件 find ./ -name “*.c” | xargs grep -b “Test”