分类目录归档:编程

C/C++ 控制桌面图标排列

以前写过使用Au3排列桌面图标的代码,感觉蛮有意思的。今天逛论坛的时候一不小心看到了一个C/C++操作桌面图标的代码,原理逻辑都是一样的,获得桌面SysListView32的句柄,利用该句柄对控件上的图标进行坐标的调整。排列后的效果及代码如下:

继续阅读

Au3控制Win7桌面图标大小

Win7系统桌面不同于XP及老版本的桌面系统,增加了很多人性化的功能,比如桌面图标可以根据自己的需要调整为大、中、小三种类型的大小,也可以根据自己的需要按住CTRL+鼠标滚轮控制图标大小。这一点非常的人性化,这里给大家介绍,如何模拟人工手动操作方式让程序去帮助我们调整图标的大小。 继续阅读

使用AppInit_DLLs加载DLL进行API Hook

例子是由CodeProject下载,利用API Hook技术,拦截替换了系统NtQuerySystemInformation函数,在替换的函数中将Windows系统计算器进程calc.exe过滤,当我们打开任务管理器或者一些使用NtQuerySystemInformation来获取系统进程信息的工具时,无法看到calc.exe进程。该例中还包含了一个强大的mHook工具类。 继续阅读

AppInit_DLLs 在Win7、2008应用

AppInit_DLLs是微软提供的一种机制,他允许将某个DLL文件加载到任意进程内。在Windows7和Windows Server2008 R2中微软添加了一项新的代码签名要求。

 值  描述  可设定值
 LoadAppInit_DLLs(REG_DWORD)  全局控制AppInit_DLLs是否可用  0x0为禁用,0x1为启用
 AppInit_DLLs (REG_SZ)  空格或逗号分割的DLL加载列表  C:\ PROGRA~1\MICROS~1.DLL
 RequireSignedAppInit_DLLs  是否加载只签名的DLL  0x0加载所有,0x1只加载签名的DLL

在Windows7中,RequireSignedAppInit_DLLs注册表值默认为0x0,而在Windows Server2008 R2中,该值默认为0x1.

纯Au3实现利用SetupAPI禁用设备

之前发过一版C/C++实现的代码,只给出了部分内容。但已经足够了,不过最新正筹备制作网吧无盘万能包自动安装驱动的工具,使用AU3可以大大的加快开发进度,所以研究了AU3使用SetupAPI系列函数,正在自己不断查询MSDN的时候发现ACN早已经有人封装了这一系列函数,此人正是pusofalse,借助其封装的SetupAPI系列函数,实现如下禁用设备的代码 继续阅读

清理幽灵设备关键代码

以前做过Ghost封装的同学肯定知道,从一台电脑做完封装,Ghost到另外一台电脑后,设备管理器里面会看到很多在封装系统那台电脑上的设备信息,这些设备虽然不会造成什么严重问题,但是系统每次启动都会尝试加载该设备,这些设备被称之为幽灵设备。我们可以通过以下批处理,显示未连接的设备列表: 继续阅读

根据设备接口类GUID禁用设备关键代码

在网吧无盘系统环境下,我们有很多不需要的设备是无需启用的,禁用这些设备可以大大加快无盘客户机的开机速度,比如“IDE ATA/ATAPI 控制器”等等。

以往我们禁用这些设备的手段是通过微软提供给我们的DevCon工具,记录需要禁用的设备硬件ID来禁用 继续阅读