![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VC实用代码
文章平均质量分 59
NemoHu
这个作者很懒,什么都没留下…
展开
-
iterator 容器元素遍历删除
vector::iterator it; for(it=m_items.begin();it!=m_items.end();) { DWORD d = *it; if(CData::_R(d+0x8C)<1) { it = m_items.erase(it); continue; } ++it; if(d==item) return;原创 2014-08-14 12:53:52 · 190 阅读 · 0 评论 -
vc6下生成libiconv的静态库 iconv.lib
最新版本1.92http://gnuwin32.sourceforge.net/packages/libiconv.htm先运行在 vc6安装目录下的./Microsoft Visual Studio/VC98/Bin/VCVARS32.BAT,然后:nmake -f Makefile.msvc NO_NLS=1 MFLAGS=-MD遇到问题: iconv.原创 2012-09-03 19:23:38 · 516 阅读 · 0 评论 -
VC6下使用libcurl库
CURL *curl;CURLcode res;curl = curl_easy_init();if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://www.hao123.com"); res = curl_easy_perform(curl); /* always cleanup */ curl_easy_cleanup(原创 2012-09-03 15:03:06 · 389 阅读 · 0 评论 -
一步一步学习C++的ActiveX网页控件开发
一步一步学习C++的ActiveX网页控件开发 本文将首先介绍如何使用Visual Studio开发一个简单的ActiveX控件,然后介绍ActiveX控件开发相关的基础知识,比如方法,属性和事件等,最后介绍如何利用这些知识,实现ActiveX控件和网页页面之间的通信。MyActiveX控件的效果图简介ActiveX是由Microsoft在90年代中期提出的转载 2012-06-25 21:43:26 · 344 阅读 · 0 评论 -
VC 利用WMI获取硬件信息
用 Win32_********** 类时有些硬件及外设的信息可以获得如,cpu, 主板,键盘等,但是内存的类型,序列号,大小都得不到阿,现在想获取唯标识内存的东西,我想最好是序列号吧下面是是实现代码:#define _WIN32_DCOM#include #include #include #pragma comment(lib, "wbemuuid.lib")转载 2012-06-17 08:22:54 · 929 阅读 · 0 评论 -
html在线编辑器的调用方法---原理和实例
HTML在线编辑器不需要懂得使用Dreamweaver,会用Word就会使用此编辑器,在文章系统或者是新闻系统需要文字编辑的web程序中非常实用。但是如何将html编辑器嵌入到web页中和怎么取得里面的数据呢?!首先我们假定我们所要调用得HTML在线编辑器放在一个单独得页面中,文件名是gledit.htm上传图片的前台页面:http://www.jfinfo.com/room/admin/转载 2012-06-05 17:10:27 · 331 阅读 · 0 评论 -
如何读取页面元素的onclick属性值
如何读取页面元素的onclick属性值页面代码:链接一程序代码:IHTMLElement item;// 已经找到该元素我想取出item身上onclick属性的值:alert('ok');但取出来是一个htmleventojbect我试过getAttribute或是get_oncick方法,返回都是一个vt_dispatch。查了一下。这个dispatch是转载 2012-05-28 09:23:08 · 836 阅读 · 0 评论 -
CreateProcess启动隐藏的外部程序
CreateProcess启动隐藏的外部程序HDESK hDesk = CreateDesktop(_T(MyDesk), NULL, NULL, 0, GENERIC_ALL, NULL); ASSERT(hDesk); STARTUPINFO si = {sizeof(si)}; si.lpDesktop = _T(MyDesk); si.dwFlags =转载 2011-12-16 21:20:51 · 294 阅读 · 0 评论 -
IAT HOOK 代码注入非DLL
使用代码注入来实现进程隐藏 而不是使用DLL注入来实现进程隐藏没有什么高级技术 纯体力活 原理就不说了 只是没有通过DLL注入 来实现HOOK API纯粹注入代码 邪恶二进制上 也有个代码注入的 只是用了一个未公开的函数,我还看不懂= =本来想用汇编写的 发现汇编注入代码远比C注入代码来的繁 所以用C实现了主要功能就是 隐藏进程 不过RING3的似乎没多大用转载 2011-12-07 21:27:51 · 272 阅读 · 0 评论 -
VC实现搜索IAT HOOK API
////本程序是用寻找并修改(Improt Address Table)的方法来实现HOOK一个API函数#include #include #include #define UNICODE#define _UNICODEPIMAGE_DOS_HEADER pDosHeader;PIMAGE_NT_HEADERS pNTHeade转载 2011-12-07 21:26:15 · 416 阅读 · 0 评论 -
去掉小数后面无效的0
double dbl = 3.20000;CString str;str.Format("%g",dbl);转载 2012-09-12 20:13:31 · 228 阅读 · 0 评论 -
VC实现历史记录的全面清除
前言:在本人用完计算机之后,往往不希望别人发现你做过什么,和浏览过什么网址。(特别是和多人共用一台机子时)。当然,你可以手工清理那些记录。 但那是多么繁杂的一件事啊。 我想没人愿意那样做。于是,我想到用一个软件来一次性完成上述工作。清除历史记录的文章很多,但是一般都不够全面。本人经过整理和收集一些资料,加以融合。得到了一个较全面的历史记录清除方法。在这里要指出代码能完成,要转载 2012-10-03 17:56:03 · 480 阅读 · 0 评论 -
VC使用ADO的系统兼容问题
WIN7系统 VC6工程中使用ACCESS作为数据库,在本机正常连接数据库,发布到客户机WINXP后发现数据库连接失败.原因: WIN7 ado comid 和 winxp ado comid不同. 若在winxp编译的程序却可以在win7上面正常运行.也就是 win7 的 ado兼容winxp,反过来则不兼容.解决方法: 我们将winxp中的 C:\Program Files\原创 2012-09-20 14:44:43 · 189 阅读 · 0 评论 -
error LNK2001: unresolved external symbol _main解决办法
error LNK2001: unresolved external symbol _main解决办法 解决外部符号错误:_main,_WinMain@16,__beginthreadex -!t'my`yK 在创建MFC项目时, 不使用MFC AppWizard向导, 如果没有柚煤孟钅坎问? 就会在编译时产生很多连接错误, 如error LNK2001错误, 典型的错误提转载 2014-08-07 17:17:16 · 634 阅读 · 0 评论 -
ALT COM组件 ALT ActiveX组件中字符串的传入及VBS,按键精灵的调用方法
COM组件返回一个字符串接口中的声明:interface ITxQuest : IDispatch{[id(1), helpstring("method TestFun")] HRESULT TestFun([in]BSTR bstr,[out,retval]BSTR* pbstr);};类头文件中的声明.h// ITxQuestpublic:STD原创 2013-11-13 15:32:38 · 261 阅读 · 0 评论 -
VC++下用MSComm控件实现串口通讯
首先,在对话框中创建通信控件,若Control工具栏中缺少该控件,可通过菜单Project --> Add to Project --> Components and Control插入即可,再将该控件从工具箱中拉到对话框中。此时,你只需要关心控件提供的对 Windows 通讯驱动程序的 API 函数的接口。换句话说,只需要设置和监视MSComm控件的属性和事件。打开所需串口后,需要考虑串转载 2013-11-12 10:38:14 · 162 阅读 · 0 评论 -
迭代器元素的删除
#include #include using namespace std; int main(){ vector arr; arr.push_back(6); arr.push_back(7); arr.push_back(8); arr.push_back(9); for(vector::iterator it=a原创 2013-09-03 11:14:50 · 195 阅读 · 0 评论 -
为网络程序添加代理设置
一、相关结构体与API: [cpp] view plaincopyprint?typedef struct { DWORD dwAccessType; LPCTSTR lpszProxy; LPCTSTR lpszProxyBypass; } INTERNET_PROXY_INFO, *LPINTERNET_PRO转载 2013-06-25 08:25:25 · 328 阅读 · 0 评论 -
MYSQL 的重新连接 错误:MySQL server has gone away
之所以写那篇blog,是因为去年写的一些代码遇到了“2006:MySQL server has gone away”错误。这个问题是因为wait_timeout这个参数的默认值是28800,也就是说,如果一个连接连续8个小时没有任何请求,那么Server端就会把它断开。在测试环境中一个晚上没有请求很正常……于是第二天早上来的时候就发现这个错误了。其实我有考虑这个问题的,真的……因为我知道p转载 2013-06-23 20:57:54 · 752 阅读 · 0 评论 -
webbrowser 与宿主通信和简易方法
void OnBeforeNavigate2Explorer1(LPDISPATCH pDisp, VARIANT FAR* URL, VARIANT FAR* Flags, VARIANT FAR* TargetFrameName, VARIANT FAR* PostData, VARIANT FAR* Headers, BOOL FAR* Cancel) { // TODO: Add yo原创 2013-03-26 14:58:41 · 178 阅读 · 0 评论 -
ADSI操作iis
//VC6.0+SP5, SDK200210, windows 2000 server #include #include #include #include #include #include #pragma comment(lib,"ActiveDS") #pragma转载 2012-12-20 20:49:57 · 326 阅读 · 0 评论 -
CRichEdit设置部分文字颜色
SetTextColorInLog(LPCSTR str, COLORREF cr){ CHARFORMAT cf; ZeroMemory(&cf, sizeof(CHARFORMAT)); cf.cbSize = sizeof(CHARFORMAT); cf.dwMask = CFM_BOLD | CFM_COLOR | CFM_FACE | CFM_ITALIC | CFM_SI原创 2012-10-15 12:36:24 · 313 阅读 · 0 评论 -
WSAEventSelect模型 服务端 代码示例
// testsocket2.cpp : Defines the entry point for the console application.// #include "stdafx.h" #include #include原创 2011-08-24 15:15:57 · 562 阅读 · 0 评论 -
将C结构体变量传给LUA
typedef struct{ int x; int y; int z;}TData;static int getAttribute(lua_State* L){ TData *data = (TData*)lua_to原创 2011-08-20 21:15:05 · 1974 阅读 · 1 评论 -
Windows API详解——SwitchToThisWindow 激活指定窗口(无论是否最小化)
Windows API详解——SwitchToThisWindow 激活指定窗口(无论是否最小化) <br /> <br /> SwitchToThisWindow能够激活一个指定程序的窗口,使这个窗口弹出到屏幕的最前面。如果待激活的窗口是处于最小化状态,这个函数能使窗口还原并在屏幕中最前。其实SwitchToThisWindow这个Windows API函数是个所谓的未公开的API,不过虽然头文件中没有它的定义,但在MSDN中是有它的说明的,所以我觉着它顶多算个半公开的API。SwitchT原创 2010-10-23 13:48:00 · 3354 阅读 · 1 评论 -
通过WMI获得网卡MAC地址,硬盘序号,主板序号等硬件信息
<br />开发语言:C/C++支持平台:Windows实现功能:通过WMI获取网卡MAC地址、硬盘序列号、主板序列号、CPU ID、BIOS序列号 下载地址:WMI_DeviceQuery.zip版本历史:V1.4 2010年05月17日 修正了硬盘序列号处理中的错误。现在和EVEREST Ultimate Edition 5.5一致。 V1.3 2010年05月11日 增加了对网卡原生MAC地址的查询。 V1.2 20原创 2010-10-12 17:35:00 · 2227 阅读 · 1 评论 -
MFC扩展DLL中使用AFX_MANAGE_STATE(AfxGetAppModuleState());
<br />在MFC扩展DLL中要使用<br />AFX_MANAGE_STATE(AfxGetAppModuleState());<br /> <br />不能使用<br />AFX_MANAGE_STATE(AfxGetStaticModuleState());<br /> <br />原创 2010-10-09 21:47:00 · 882 阅读 · 1 评论 -
获得文件的修改时间
<br />void CTestDlg::OnOK() <br />{<br /><br />HANDLE hFile; <br />WIN32_FIND_DATA wfd; <br />SYSTEMTIME systime; <br />FILETIME localtime; <br />char stime[32]; //输出时间 <br />memset(&wfd, 0, sizeof(wfd)); <br /> <br />if((h原创 2010-09-25 12:55:00 · 140 阅读 · 0 评论 -
PE增加导入表
代码://// Copy from Matt Pietrek// Given an RVA, look up the section header that encloses it and return a// pointer to its IMAGE_SECTION_HEADER//PIMAGE_SECTION_HEADERGetEnclosingSectionHeader(DWORD r原创 2010-05-28 08:57:00 · 769 阅读 · 1 评论 -
设置 CListCtrl 某行的颜色
首先是添加以下消息ON_NOTIFY( NM_CUSTOMDRAW, IDC_LIST1, OnDrawColorForMyList ) //为改变颜色添加的消息再添加类成员函数,就OK了://改变 m_List 控件单行的颜色void CSSDTDlg::OnDrawColorForMyList( NMHDR *pNmHdr, LRESULT *pResult ){ NMLVCUS原创 2010-05-13 03:14:00 · 1918 阅读 · 0 评论 -
VC++中全局变量的问题(转)
VC++中全局变量的问题(转)全局变量一般这样定义:1。在一类的.cpp中定义 int myInt;然后再在要用到的地方的.cpp里extern int myInt;这样就可以用了。 2。在stdafx.cpp中加入:int myInt;然后在stdafx.h中加入:extern int myInt这样定义以后无论在什么文件中都是可见的. 3。比较规范的是,先定义一个Glbs.原创 2010-04-02 16:07:00 · 147 阅读 · 0 评论 -
ANSI互相转换Unicode
将ANSI转换到Unicode (1)通过L这个宏来实现,例如: CLSIDFromProgID( L"MAPI.Folder",&clsid); (2)通过MultiByteToWideChar函数实现转换,例如: char *szProgID = "MAPI.Folder"; WCHAR szWideProgID[128]; CL原创 2010-04-02 17:04:00 · 188 阅读 · 0 评论 -
VC MFC 网络编程入门——简单通信实例学习
VC MFC 网络编程入门——简单通信实例学习2009年12月08日 星期二 下午 09:45<br />对于许多初学者来说,网络通信程序的开发,普遍的一个现象就是觉得难以入手。许多概念,诸如:同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)等,初学者往往迷惑不清,只知其所以而不知起所以然。<br />同步方式指的是发送方不等接收方响应,便接着发下个数据包的通信方式;而异步指发送方发出数据后,等收到接收方发回的响应,才发下一个数据包的通信方式。<br />阻塞套接字是指执行原创 2010-10-24 00:21:00 · 1002 阅读 · 0 评论 -
通过HTTP协议利用VC++上传图片至服务器
<br />通过HTTP协议利用VC++上传图片至服务器 由于项目的临时需求,需要将以前抓拍在本机的BMP图片上传至服务器。本文主要记录如何解决这个问题。 <br />我们打算用http协议来上传数据,因此要用http协议的POST方式。首先,要理解http的POST协议。它一般由三部分组成:协议头,具体内容以及协议尾。如下例所示:<br /> <br />POST /upload_file/UploadFile HTTP/1.1<br />Accept: text/plain, */*<br />Acce原创 2010-12-22 20:21:00 · 783 阅读 · 1 评论 -
无DLL键盘记录
<br />我们Windows系统是建立在消息传递的事件驱动的机制上。用钩子可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。键盘记录者的原理就是使用键盘钩子截获键盘消息。当然,并非键盘记录一定要使用钩子,比如WinEggDrop的无钩子键盘记录者。<br />一般书上都会说:“全局钩子函数必须包含在DLL中,而线程专用钩子还可以包含在可执行文件中”。即如果钩子过程在应用程序中实现,只对该程序起作用;如果钩子过程在DLL中实现,程序在运行中动态调用它,它能对整个系统进行监控。我们做键盘原创 2010-12-25 12:17:00 · 540 阅读 · 0 评论 -
在Visual C++中使用内联汇编
在Visual C++中使用内联汇编目录: 内联汇编的优缺点 内联汇编关键字 在__asm块中使用汇编语言 在__asm块中使用C/C++语言元素 寄存器使用 转跳 调用函数 一个例子 后话文档转载 2011-09-04 18:12:18 · 210 阅读 · 0 评论 -
记录程序崩溃时的调用堆栈
<br />在程序release之后,不可避免的会存在一些bug,测试人员和最终用户如何在发现bug之后指导开发人员进行更正呢?在MS的网站上,有一篇名为"Under the hook"的文章,讲述了如何把程序崩溃时的函数调用情况记录为日志的方法,对此感兴趣的读者可以去看一看原文,那里提供源代码和原理的说明。<br />文章的作者提供了一个MSJExceptionHandler类来实现这一功能,这个类的使用方法很简单,只要把这个类加入到你的工程中并和你的程序一起编译就可以了,由于在这个类的实现文件中把自己定原创 2011-05-05 10:49:00 · 261 阅读 · 0 评论 -
自己填表,发布帖子。
<br />// ZhAutoPosterDlg.cpp : 实现文件//#include "stdafx.h"#include "ZhAutoPoster.h"#include "ZhAutoPosterDlg.h" #ifdef _DEBUG#define new DEBUG_NEW#endif// 用于应用程序“关于”菜单项的 CAboutDlg 对话框class CAboutDlg : public CDialog{public:原创 2011-04-11 02:35:00 · 263 阅读 · 0 评论 -
SendMessage 发送中文字符.
<br /> char ch; for(int i=0;i<m_Message.GetLength();i++) { ch=m_Message.GetAt(i); ::PostMessage(hwndSelected,WM_CHAR,ch&0x00FF,1); Sleep(20); }原创 2011-03-04 14:26:00 · 634 阅读 · 0 评论 -
给PE程序增加区段并嵌入汇编代码
<br />#include <windows.h> #include <stdio.h> #include <winbase.h> bool OpenMyFile(char fileName[]); LPVOID AddSection(LPVOID ImageBase,char sectionName[],DWORD SectionNumber); DWORD ToAlign(DWORD SectionNumber,DWORD AlignSize); //取整 第二个参数表示以原创 2011-01-13 17:23:00 · 757 阅读 · 0 评论