c++ split
admin | win32 | 2013-10-15
C++
#include <iostream>
#include <string>
#include <vector>
//字符串分割函数
std::vector<std::string> split(std::string str,std::string pattern)
{
std::string::size_type pos;
std::vector<std::string> result;
str+=pattern;//扩展字符串以方便操作
in... [阅读全文]
C++ 判断当前计算机是直接连接广域网,还是通过局域网连接到广域网的
admin | win32 | 2013-10-15
可以判断本机的IP是不是在私网网段内
10.x.x.x
172.16.x.x至172.31.x.x
192.168.x.x
,如果不在以上网段内,就是公网了
[阅读全文]
c++获取本机IP
admin | win32 | 2013-10-15
C++
/* 编译环境: visual c++ */
#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")
int doit(int, char **)
{
char host_name[255];
//获取本地主机名称
if (gethostname(host_name, sizeof(host_name)) == SOCKET_ERROR) {
printf("Error %d when getting ... [阅读全文]
木马后门常用到的API
admin | win32 | 2013-10-15
用来分析木马后的功能,简单整理如下:
1.服务管理
OpenSCManager
OpenService
EnumServicesStatus
QueryServiceConfig
ControlService
2.屏幕管理
CreateDC
GetDeviceCaps
CreateCompatibleBitmap
CreateCompatibleDC
OpenWindowStation
OpenDesktop
3.命令控制
CreatePipe
DisconnectNamedPipe
PeekNamedPipe
3、磁盘处理函数
GetDiskFreeSpaceA 获取... [阅读全文]
GDI+混合GDI实现双缓存
admin | win32 | 2013-10-14
双缓存就是在内存中准备一块区域,把要显示的内容都绘制到准备的内存区域中,绘制完成之后就可以调用BitBlt函数,把内存区域的内容复制到显示设备上,这样就可以防止闪屏了.
在是使用GDI绘制客户区域时,可以使用下面的这样的代码
C++
void CTestView::ShowBmpUseDoubleBuffer()
{
CDC *pDC = GetDC();
CBitmap BmpMem; //内存... [阅读全文]
CTime 使用总结
admin | win32 | 2013-10-14
C++
1.初始化
m_begintime=CTime(2004,1,1,0,0,0,-1);//参数依次为year,month,day,hour,minite,second
m_endtime =CTime::GetCurrentTime();//当前时间
2.日期比较
CTimeSpan span;
span=time1-time2;
得到两时间的间隔.
可以取得span.GetHours().等
3.access数据库查询
使用DateDiff()函数,具体参照acces... [阅读全文]
深度兼容std的vector,支持多线程同时读写
admin | win32 | 2013-09-18
C++
/*
A multithread_safe vector
TB
*/
#pragma once
#include <vector>
template<typename T>
class CVector
{
private:
std::vector<T> m_vecCon;
CCriticalSection m_syncFlag;
public:
typedef typename std::vector<T>::size_type size_type;
//typedef T value_type;... [阅读全文]
Duilib中使用TeeChart Pro v8(or手动添加ActiveX控件)
admin | win32 | 2013-09-10
作为一个方便大众的ActiveX控件,在C++中竟然只能在MFC被傻瓜式地操控是不对滴,而当这种专利居然在不引入afxwin.h和afxdisp.h的情况下都还要有所体现的时候,朕就hold不住了,誓要能死你个落伍的小玩意儿!
经过这两天的搏斗,朕在没有整过activeX这小b玩意儿的情况下还是收获了一些技巧,特此记录下来以便日后查看,也为苦于在C++中手动添加ActiveX时... [阅读全文]
MFC的SDI中视图类窗口大小初始化
admin | win32 | 2013-08-26
C++
1、不继承CRichEditView类,直接继承CView类
2、编辑框控件(CRichEditCtrl)作为CView类的派生类的数据成员(私有),在WM_CREATE时使用如下代码初始化:
CRect rect(0,0,0,0);
this->m_rich.Creat(ES_AUTOVSCROLL|ES_MULTILINE|ES_WANTRETURN|WS_CHILD|WS_VISIBLE|WS_VSCROLL,rect,this,1);//创建CRichEditCtrl控件
... [阅读全文]
Duilib 使用IE
C++
1.xml中配置<ActiveX name="ie" clsid="{8856F961-340A-11D0-A96B-00C04FD705A2}" delaycreate="false"/>
2.代码中实现:
CActiveXUI* pActiveXUI = static_cast<CActiveXUI*>(m_pm.FindControl(_T("ie")));
if( pActiveXUI )
{
IWebBrowser2* pWebBrowser = NULL;
pActiveXUI->GetCon... [阅读全文]