c/c++
文章平均质量分 66
萧柚
这个作者很懒,什么都没留下…
展开
-
用 VC2012 产生脱离VC运行库的 C/C++ 程序
最近在研究如何使一个VC编译的程序脱离VC运行库,也就是msvcrXX.dll。查了许多资料,最后确定了两篇可参考文章,不过都是以VC2010为开发环境的,而我用的是VC2012,和他们的有所不同。 首先,要把msvcrXX.dll脱离出来,第一步是取消链接库,代码是:转载 2014-06-06 09:16:47 · 1663 阅读 · 0 评论 -
C语言读取BMP图像数据(转)
BMP是英文Bitmap(位图)的简写,它是Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持。随着Windows操作系统的流行与丰富的Windows应用程序的开发,BMP位图格式理所当然地被广泛应用。这种格式的特点是包含的图像信息较丰富,几乎不进行压缩,但由此导致了它与生俱生来的缺点--占用磁盘空间过大。所以,目前BMP在单机上比较流行。BMP文件格式分析转载 2014-07-31 10:30:50 · 1316 阅读 · 0 评论 -
vc2008对话框项目使用Feature Pack
在vc2008 sp1中,引入了Feature Pack美化界面,不过微软提供的例子都是针对单文档或者多文档项目的,要在对话框项目中使用Feature Pack中的一些美化控件(如CMFCListCtrl),需要在App类(继承自CWinAppEx)的InitInstance函数中添加下面两行:CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS转载 2014-07-31 16:30:38 · 638 阅读 · 0 评论 -
MFC 创建主窗口为非模态窗口
第一步修改App类的InitApp类的InitInstance函数原创 2014-08-22 22:23:01 · 2429 阅读 · 1 评论 -
鼠标屏幕取词技术的原理和实现
“鼠标屏幕取词”技术是在电子字典中得到广泛地应用的,如四通利方和金山词霸等软件,这个技术看似简单,其实在WINDOWS系统中实现却是非常复杂的,总的来说有两种实现方式: 第一种:采用截获对部分GDI的API调用来实现,如TextOut,TextOutA等。 第二种:对每个设备上下文(DC)做一分Copy,并跟踪所有修改上下文(DC)的操作。 第二种方法更强转载 2014-08-12 16:37:06 · 1056 阅读 · 0 评论 -
模拟 CMD命令下的ipconfig
#include #include #include using namespace std;#pragma comment(lib, "Iphlpapi.lib")#pragma comment(lib, "ws2_32.lib")int main(){ FIXED_INFO *pFinxedInfo= NULL; ULONG ulOutBufLen; pFinxed转载 2014-08-28 09:38:19 · 759 阅读 · 0 评论 -
GUID 生成
GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成GUID的API。生成算法很有意思,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。GUID的唯一缺陷在于生成的结果串会比较大。” 1. 一个GUID为一个128位的整数(16字节),在使用唯一标识符的情况下,你可以在所有计算机和网络之间使用这一整数。原创 2014-09-17 13:33:04 · 1203 阅读 · 0 评论 -
WMI, Query Windows SecurityCenter2
In Windows Vista, the WMI query to get anti-virus information has been changed. Pre-Vista clients used the root/SecurityCenter namespace, while Post-Vista clients use the root/SecurityCenter2 namespac转载 2014-10-11 13:58:20 · 1000 阅读 · 0 评论 -
CryptAPI RSA加密解密
//下面的代码没有考虑源数据的长度问题,需要注意。// INCLUDES#include "stdio.h"#include "conio.h"#include "windows.h"#include "wincrypt.h"#include "tchar.h" // FUNCTIONSint Keys(_TCHAR* strPublicKeyFile, _TCHAR* strP转载 2014-11-02 09:31:56 · 4880 阅读 · 0 评论 -
修改文件所有者和权限
修改文件的所有者并添加everyone完全控制权限。一定要先设置一下Owner,然后再进行权限设置,二者一起执行是不会成功的。BOOL AdjustPrivileges(LPWSTR lpName){ HANDLE hToken = NULL; TOKEN_PRIVILEGES tp = {0}; TOKEN_PRIVILEGES oldtp = {0}; D转载 2014-11-02 09:33:09 · 1480 阅读 · 0 评论 -
SSL握手过程
http://my.oschina.net/u/1188877/blog/164982转载 2014-11-02 16:19:17 · 531 阅读 · 0 评论 -
解除文件的独占锁定
解除文件的独占锁定,通过ZwQuerySystemInformation查询当前系统的所有句柄信息, 然后调用OpenProcess获取目标进程句柄,遍历当前所有进程, 根据进程ID, 得到此进程打开的所有句柄信息, 接下来用DuplicateHandle复制Handle到本地进程,然后通过文件句柄获取对应的文件对象的完整名字.确定文件名后, 如果要删除文件, 则调用OpenProcess与DuplicateHandle关闭句柄, 然后ZwDeleteFile删除文件。原创 2014-07-27 10:53:02 · 3678 阅读 · 1 评论 -
记录一些有用的API(一)
一.(Un)RegisterPowerSettingNotification(Vista+)注册电源事件,允许用WM_POWERBROADCAST捕获消息,如笔记本电脑电量的使用,百分比发生变化会发送消息,还有一些键盘的物理按键Registers the application to receive power setting notifications for the spe原创 2014-07-26 11:09:58 · 996 阅读 · 0 评论 -
GetEnvironmentVariable 获取系统环境变量
%WINDIR% {系统目录 - C:\WINDOWS}%SYSTEMROOT% {系统目录 - C:\WINDOWS}%SYSTEMDRIVE% {系统根目录 - C:}%HOMEDRIVE% {当前用户根目录 - C:}%USERPROFILE% {当前用户目录原创 2014-06-24 16:49:36 · 991 阅读 · 0 评论 -
C++中string相关函数
C++ Strings(字符串) --------------------------------------------------------------------------------构造函数(Constructors)语法: string();string( size_type length, char ch );string( const char *st转载 2014-05-23 14:35:41 · 695 阅读 · 0 评论 -
打印文件夹中所有dll输出表中函数名称
今天逆向破解firefox浏览器中保存的账号及密码,因为firefox对账号的信息不断的提高安全性,所以之前破解中需要用到的一个导出函数不知被封装到那个dll中了,但firefox安装目录下又有许多的dll,一个一个的使用loadPe工具去查找太麻烦了,于是就编写了一个小程序去遍历文件夹下所有的dll的导出表中的函数名称并打印出来。原创 2014-05-24 22:07:22 · 1354 阅读 · 0 评论 -
SDK实现真彩工具栏
如果是采用MFC工程的话,要实现真彩工具栏是一件简单的事,网上都提供了封装好的类来实现,例如:TrueColorToolBar。可是采用SDK实现真彩工具栏就需要自己去实现,在网络上搜索了很多关于这方面的资料,都没有称心如意的,最后自己一步一步的使用SDK函数来实现这一功能,代码如下:void CreateToolBar(const HWND hWndParent){ RGBTRIPLE原创 2014-05-23 15:49:39 · 835 阅读 · 0 评论 -
C++ 注册表操作总结
1、RegCloseKey() 原型:RegCloseKey(HKEY hKey) 解释:关闭指定的注册表键,释放句柄。当对一个或多个键或值操作完成以后,需要关闭其键来进行保存操作结果,关闭一个键后,句柄变为非法,此时应释放句柄。 2、RegCreateKeyEx() 原型:LONG RegCreateKeyEx( HKEY hKey, LPCTSTR lp转载 2014-05-26 20:55:31 · 552 阅读 · 0 评论 -
WMI
WMI即windows管理规范。通过它可以访问、配置、管理和监视几乎所有的Windows资源。当然对于程序员而言在WMI体系结构中我们最需要关心的就是WMI提供的程序和接口。 WMI提供程序在WMI和托管资源之间扮演着中间方的角色。提供程序代表使用者应用程序和脚本从WMI托管资源请求信息,并发送指令到WMI托管资源。下面是我们利用WMI编程经常要用到的WMI内置提供程序清单,以供原创 2014-06-30 22:27:51 · 997 阅读 · 0 评论 -
c/c++ 实现ping程序
#ifndef _PING_H_#define _PING_H#include #include #include #pragma comment(lib, "ws2_32.lib")#define ICMP_SIZE 32//ICMP header structuretypedef struct _ICMP_HDR{ BYTE type; BYTE code; U原创 2014-05-28 17:08:00 · 1597 阅读 · 0 评论 -
自定义实现GetProcAddress函数
自定义实现GetProcAddress函数原创 2014-05-28 17:32:05 · 1405 阅读 · 0 评论 -
c/c++ 屏幕截图
说明:该程序以隐藏方式运行,程序初始化时注册了两个热键Ctrl+Alt+a和Ctrl+Alt+A,当按下其中之一热键时,会让用户选择截屏的区域。用户区域选择完后,可以有三种选择:使用Ctrl+c快捷键保存到剪切板使用Ctrl+s快捷键弹出保存bmp文件对话框使用Esc快捷键取消截屏当用户操作完后,程序并不会退出,用户可以反复的使用热键进行截屏,知道用户手动结束程序。原创 2014-05-28 23:28:08 · 1740 阅读 · 0 评论 -
WinHttp支持HTTPS下载
#include "windows.h"#include "winhttp.h"#include "wchar.h"#pragma comment(lib,"Winhttp.lib")// SSL (Secure Sockets Layer) example// compile for consolevoid main(){ HINTERNET hOpen = 0; HINTER转载 2015-03-10 11:08:32 · 2971 阅读 · 1 评论