<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ellis993的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ellis993</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ellis993]]></copyright><item><title><![CDATA[Vector的使用，以及类中使用变量还是指针的问题]]></title><link>https://blog.youkuaiyun.com/ellis993/article/details/118256310</link><guid>https://blog.youkuaiyun.com/ellis993/article/details/118256310</guid><author>ellis993</author><pubDate>Sat, 26 Jun 2021 23:40:02 +0800</pubDate><description><![CDATA[Vector 变量1 ；在push_back 的时候会重新赋值，所以不用担心push_back进去的东西是否是临时变量，以及其作用区间

Vector 变量2， 在Push_back的时候，必须保证Push_back进去的地址的作用域在使用变量2期间一直存在，否则就会出现野指针在变量2之中发生不可控的风险



在类中声明变量准则

如果对象的构造函数需要传参，那么最好声明为指针类型（个人觉得比较复杂的对象最好使用指针）

使用普通变量一般用对象
...]]></description><category></category></item><item><title><![CDATA[一个简单的TCP/IP通信接口处理]]></title><link>https://blog.youkuaiyun.com/ellis993/article/details/118255410</link><guid>https://blog.youkuaiyun.com/ellis993/article/details/118255410</guid><author>ellis993</author><pubDate>Sat, 26 Jun 2021 22:11:04 +0800</pubDate><description><![CDATA[服务端


#include&lt;WinSock2.h&gt;
#include &lt;stdio.h&gt;
#include &lt;Windows.h&gt;
#include &lt;string&gt;

#pragma comment(lib, "WS2_32.lib")

int main(int argc, char* argv[])
{
    WSAData wsaData;
    WORD sockVersion = MAKEWORD(2, 2);
    ::WSAStart.]]></description><category></category></item><item><title><![CDATA[SetHook ，修改dll中的api函数]]></title><link>https://blog.youkuaiyun.com/ellis993/article/details/117967410</link><guid>https://blog.youkuaiyun.com/ellis993/article/details/117967410</guid><author>ellis993</author><pubDate>Wed, 16 Jun 2021 21:21:31 +0800</pubDate><description><![CDATA[#include&lt;Windows.h&gt;
#include &lt;stdio.h&gt;
BOOL SetHook(HMODULE hMod);
void ProcessNameList(HMODULE hMod);
typedef int(WINAPI* NewMessageBox)(HWND, LPCSTR, LPCSTR, UINT);

PROC g_proc = (PROC)MessageBoxA; //取messagebox的名称

void main()
{
    Proces.]]></description><category></category></item><item><title><![CDATA[转发一份加密算法AES]]></title><link>https://blog.youkuaiyun.com/ellis993/article/details/117872058</link><guid>https://blog.youkuaiyun.com/ellis993/article/details/117872058</guid><author>ellis993</author><pubDate>Sun, 13 Jun 2021 11:37:40 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/u014230646/article/details/79552792
]]></description><category></category></item><item><title><![CDATA[DLL安装钩子实例]]></title><link>https://blog.youkuaiyun.com/ellis993/article/details/117755411</link><guid>https://blog.youkuaiyun.com/ellis993/article/details/117755411</guid><author>ellis993</author><pubDate>Wed, 09 Jun 2021 22:13:43 +0800</pubDate><description><![CDATA[dll

头文件


#ifndef _KBHOOK_H_
#define _KBHOOK_H_
#include &lt;Windows.h&gt;
#ifdef _KEYHOOKLIB
#define _KEYHOOKLIB_EXPORTS _declspec(dllexport)
#else
#define _KEYHOOKLIB_EXPORTS _declspec(dllimport)
#endif
#define HK_KEY WM_USER + 101

BOOL _KEYHOOKLIB_EXP]]></description><category></category></item><item><title><![CDATA[动态加载dll]]></title><link>https://blog.youkuaiyun.com/ellis993/article/details/117717154</link><guid>https://blog.youkuaiyun.com/ellis993/article/details/117717154</guid><author>ellis993</author><pubDate>Tue, 08 Jun 2021 22:01:57 +0800</pubDate><description><![CDATA[创建dll




#define _DLL_MAIN_H_

#ifdef DLLDEM_EXPORTS
#define DLLDEMO_API _declspec(dllexport)
#else
#define DLLDEMO_API _declspec(dllimport)
#endif

DLLDEMO_API void ExportFunc(LPCTSTR pszCountent);
#endif


]]></description><category></category></item><item><title><![CDATA[dll 创建]]></title><link>https://blog.youkuaiyun.com/ellis993/article/details/117716921</link><guid>https://blog.youkuaiyun.com/ellis993/article/details/117716921</guid><author>ellis993</author><pubDate>Tue, 08 Jun 2021 21:48:39 +0800</pubDate><description><![CDATA[创建dll的文件

tou'w


#define _DLL_MAIN_H_

#ifdef DLLDEM_EXPORTS
#define DLLDEMO_API _declspec(dllexport)
#else
#define DLLDEMO_API _declspec(dllimport)
#endif

DLLDEMO_API void ExportFunc(LPCTSTR pszCountent);
#endif


]]></description><category></category></item><item><title><![CDATA[共享文件的方式读取BMP文件]]></title><link>https://blog.youkuaiyun.com/ellis993/article/details/117623826</link><guid>https://blog.youkuaiyun.com/ellis993/article/details/117623826</guid><author>ellis993</author><pubDate>Sun, 06 Jun 2021 12:24:02 +0800</pubDate><description><![CDATA[CBitMapDlg::CBitMapDlg(CWnd* pParent /*=NULL*/)
	: CDialogEx(CBitMapDlg::IDD, pParent)
{
	m_hIcon = AfxGetApp()-&gt;LoadIcon(IDR_MAINFRAME);
    m_nHeight = 0;
    m_nWidth = 0;
}

CBitMapDlg::~CBitMapDlg()
{
    DeleteDC(m_hMemDC);
}

void CBitMapDlg::Do.]]></description><category></category></item><item><title><![CDATA[windows 文件映射函数结束]]></title><link>https://blog.youkuaiyun.com/ellis993/article/details/117574929</link><guid>https://blog.youkuaiyun.com/ellis993/article/details/117574929</guid><author>ellis993</author><pubDate>Fri, 04 Jun 2021 23:24:50 +0800</pubDate><description><![CDATA[/************************************************
    作者：
    版本：
    函数名：CreateFileMapping
    函数作用：创建一个内存映射文件的内核对象
    输入参数：HANDLE hFile, -1 是创建一个共享内存，否则创建打开的文件的内存映射文件
              LPSECURITY_ATTRIBUTES lpFileMappingAttributes, 是否可以继承
             ...]]></description><category></category></item><item><title><![CDATA[windows注册表]]></title><link>https://blog.youkuaiyun.com/ellis993/article/details/117486328</link><guid>https://blog.youkuaiyun.com/ellis993/article/details/117486328</guid><author>ellis993</author><pubDate>Wed, 02 Jun 2021 22:39:33 +0800</pubDate><description><![CDATA[注册表的结构：注册表就是一个数据库包含key和value，有点类似于我们的文件夹方式

注册表有6个根键

HKEY_CURRENT_USER c


]]></description><category></category></item><item><title><![CDATA[多线程搜索文件工具]]></title><link>https://blog.youkuaiyun.com/ellis993/article/details/116423427</link><guid>https://blog.youkuaiyun.com/ellis993/article/details/116423427</guid><author>ellis993</author><pubDate>Wed, 05 May 2021 11:32:41 +0800</pubDate><description><![CDATA[#ifndef _FIND_FILE_H_ 
#define _FIND_FILE_H_
#include &lt;afxwin.h&gt;
#include&lt;queue&gt;
struct CDirectoryNode:public CNoTrackObject
{
    char            m_szDir[MAX_PATH * 8];
};

class CRapidFinder
{
public:
    friend UINT FindEntry(LPVOID lpParam.]]></description><category></category></item><item><title><![CDATA[ini配置文件读取方法]]></title><link>https://blog.youkuaiyun.com/ellis993/article/details/115219836</link><guid>https://blog.youkuaiyun.com/ellis993/article/details/115219836</guid><author>ellis993</author><pubDate>Thu, 25 Mar 2021 21:56:55 +0800</pubDate><description><![CDATA[head file


#pragma once
#include &lt;windows.h&gt;
#include &lt;tchar.h&gt;

class IniFile
{
public:
    enum { MAX_BUFFER_SIZE = 1024 };

    IniFile();
    explicit IniFile(const char *FileName);
    ~IniFile();

    bool Open();
    bool Open(const ch.]]></description><category></category></item></channel></rss>