<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qingzai_的专栏]]></title><description><![CDATA[一步一步成长，相信自己，相信未来]]></description><link>https://blog.csdn.net/qingzai_</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; qingzai_]]></copyright><item><title><![CDATA[(转)同一客户端下使用多个 Git 账户]]></title><link>https://blog.csdn.net/qingzai_/article/details/130130078</link><guid>https://blog.csdn.net/qingzai_/article/details/130130078</guid><author>qingzai_</author><pubDate>Thu, 13 Apr 2023 14:40:34 +0800</pubDate><description><![CDATA[：转自：同一客户端下使用多个 Git 账户_tortoisegit 多账号_MurphyZhao的博客-CSDN博客]]></description><category></category></item><item><title><![CDATA[VC 使用MSXML2创建SVG文档中的新结点时出现xmlns="" 属性解决方法]]></title><link>https://blog.csdn.net/qingzai_/article/details/99677020</link><guid>https://blog.csdn.net/qingzai_/article/details/99677020</guid><author>qingzai_</author><pubDate>Fri, 16 Aug 2019 14:32:48 +0800</pubDate><description><![CDATA[博文借鉴：

https://blog.csdn.net/lujunql/article/details/6989571

https://www.cnblogs.com/mq0036/p/3564955.html

由于最近有需求需要把素材下载到P2介质中，相关的xml文件需要自己写入，在写入xml时遇到了根结点下第一个子结点会自动添加

xmlns=""属性。上网一查才发现是MXSML原本存在...]]></description><category></category></item><item><title><![CDATA[VS添加数据断点-用于监控某个地址数据变化]]></title><link>https://blog.csdn.net/qingzai_/article/details/90211052</link><guid>https://blog.csdn.net/qingzai_/article/details/90211052</guid><author>qingzai_</author><pubDate>Tue, 14 May 2019 17:27:55 +0800</pubDate><description><![CDATA[作用：调试时如果不知道打断点的位置，可以对某个变量的地址进行监控，使用数据断点来监控这个地址内数据变化

使用方法：

1.Ctrl+Alt+B 打开断点窗口，点击左上角New Data BreakPoint添加地址断点

2.如果是全局变量，或者同一类的变量被多次调用，则需要同时打多个数据断点用于监控多端对这个变量修改的行为

3.如果要监控int m_a变量，则添加的方式是&amp;m_a,或...]]></description><category></category></item><item><title><![CDATA[win7消息放行或消息移除 - ChangeWindowMessageFilter]]></title><link>https://blog.csdn.net/qingzai_/article/details/81710712</link><guid>https://blog.csdn.net/qingzai_/article/details/81710712</guid><author>qingzai_</author><pubDate>Wed, 15 Aug 2018 20:42:49 +0800</pubDate><description><![CDATA[        调用ChangeWindowMessageFilter函数，放行WM_DROPFILES消息和WM_COPYGLOBALDATA消息，以解决Win7系统中文件拖放失效的问题由于Win7的安全机制，导致与文件拖放的WM_DROPFILES消息和WM_COPYGLOBALDATA消息被系统拦截了，从而导致了文件拖放失效的问题。解决问题的办法就是，调用ChangeWindowMessag...]]></description><category></category></item><item><title><![CDATA[TCP之 Event select模型]]></title><link>https://blog.csdn.net/qingzai_/article/details/80870822</link><guid>https://blog.csdn.net/qingzai_/article/details/80870822</guid><author>qingzai_</author><pubDate>Wed, 04 Jul 2018 17:40:07 +0800</pubDate><description><![CDATA[前记：select模型主要用于解决传统tcp通信线程过多的问题，而EventSelect模型则用于解决select模型的效率问题，因为select模型的内部是使用Sleep函数来阻塞线程，然后消耗系统时间片，从而降低了效率，而event select模型则使用WSAEVENT的通知机制。服务端：// 20180527_socket.cpp : 定义控制台应用程序的入口点。
//

#include...]]></description><category></category></item><item><title><![CDATA[TCP之 select模型]]></title><link>https://blog.csdn.net/qingzai_/article/details/80868202</link><guid>https://blog.csdn.net/qingzai_/article/details/80868202</guid><author>qingzai_</author><pubDate>Wed, 04 Jul 2018 17:39:51 +0800</pubDate><description><![CDATA[前记：select模型主要用于解决tcp通信中，每次处理一个独立的客户都要单独的开线程，这样会导致客户连接数很大时，线程数也会很多。服务端：#include &quot;stdafx.h&quot;
#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;WinSock2.h&amp;gt;//必须放在windows.h前面
#include &amp;lt;Windows.h&amp;gt;
#include &amp;lt;...]]></description><category></category></item><item><title><![CDATA[Dll高级技术之【延迟加载】]]></title><link>https://blog.csdn.net/qingzai_/article/details/80512984</link><guid>https://blog.csdn.net/qingzai_/article/details/80512984</guid><author>qingzai_</author><pubDate>Wed, 30 May 2018 17:19:28 +0800</pubDate><description><![CDATA[【DLL的隐式加载】：
1.在Lib中包含导入库MyLib.lib
2.cpp中包含头文件MyLib.h
3.运行目录里面包含MyLib.dll
【DLL的显式加载】：
1.运行目录里面包含MyLib.dll
2.LoadLibrary及GetProcAddress
【DLL的延迟加载】：
1.需要DLL，MyLib.lib导入库及MyLib.h 进行【隐式加载】的全步骤
3.属性-&amp;gt;配置属...]]></description><category></category></item><item><title><![CDATA[解决番茄插件visual assist x 不能安装的问题]]></title><link>https://blog.csdn.net/qingzai_/article/details/80161988</link><guid>https://blog.csdn.net/qingzai_/article/details/80161988</guid><author>qingzai_</author><pubDate>Wed, 02 May 2018 09:25:18 +0800</pubDate><description><![CDATA[因为之前使用过破解版的visual assist x问题，导致安装新的visual assist x一直失败。方法：1.卸载visual assist2.删除HKEY_CURRENT_USER/SOFTWARE/WHOLE TOMATO项3.百度搜索Trial reset并下载4.右键管理员打开trial-reset, 点击左边第三项(armadillo)向下箭头，选择扫描。5.扫描完成后，再选择...]]></description><category></category></item><item><title><![CDATA[c++删除字符串特殊符号]]></title><link>https://blog.csdn.net/qingzai_/article/details/79976917</link><guid>https://blog.csdn.net/qingzai_/article/details/79976917</guid><author>qingzai_</author><pubDate>Tue, 17 Apr 2018 16:36:54 +0800</pubDate><description><![CDATA[std::string RemoveSpcSymbol(std::string strSource)//删除符号
{
	char *str = strSource.c_str();
	char buf[MAX_PATH] = { 0 };
	int j = 0;

	for (int i = 0; i &amp;lt; strlen(str); i++)
	{
		if (str[i] &amp;gt; 0 &amp;a...]]></description><category></category></item><item><title><![CDATA[近期汇总：锁定任务栏 - 托盘图标重载 - 获取win10系统版本号]]></title><link>https://blog.csdn.net/qingzai_/article/details/79569385</link><guid>https://blog.csdn.net/qingzai_/article/details/79569385</guid><author>qingzai_</author><pubDate>Thu, 15 Mar 2018 16:00:07 +0800</pubDate><description><![CDATA[//1. 锁定任务栏并置灰
BOOL LockTaskBar()
{
	BOOL bSuc = FALSE;
	DWORD dwDisposition = REG_CREATED_NEW_KEY;
	HKEY hCheckKey;
	//勾选 锁定任务栏（不能先置灰再勾选）
	if (ERROR_SUCCESS == RegCreateKeyEx(HKEY_CURRENT_USER, &quot;Softw...]]></description><category></category></item><item><title><![CDATA[注册表添加策略方法及实现，添加桌面右键菜单]]></title><link>https://blog.csdn.net/qingzai_/article/details/78860308</link><guid>https://blog.csdn.net/qingzai_/article/details/78860308</guid><author>qingzai_</author><pubDate>Thu, 21 Dec 2017 10:02:15 +0800</pubDate><description><![CDATA[Windows Registry Editor Version 5.00

//////////////////////注册表添加协议方法///////////////////////////
[HKEY_CLASSES_ROOT\destoplancher]
@="destoplancher Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\dest]]></description><category></category></item><item><title><![CDATA[创建快捷方式到桌面、任务栏、开始菜单、快速启动栏、程序组中]]></title><link>https://blog.csdn.net/qingzai_/article/details/78688161</link><guid>https://blog.csdn.net/qingzai_/article/details/78688161</guid><author>qingzai_</author><pubDate>Fri, 01 Dec 2017 16:35:46 +0800</pubDate><description><![CDATA[//得到快速启动栏的路径    
BOOL GetIEQuickLaunchPath(WCHAR *pszIEQueickLaunchPath)
{
	LPITEMIDLIST  ppidl;

	if (SHGetSpecialFolderLocation(NULL, CSIDL_APPDATA, &ppidl) == S_OK)
	{
		BOOL flag = SHGetPathFromID]]></description><category></category></item><item><title><![CDATA[jsoncpp中获取key的方法]]></title><link>https://blog.csdn.net/qingzai_/article/details/78481232</link><guid>https://blog.csdn.net/qingzai_/article/details/78481232</guid><author>qingzai_</author><pubDate>Wed, 08 Nov 2017 17:33:35 +0800</pubDate><description><![CDATA[首先，铺一下需求：


$arr = array('key1'=>array('value1'),'key2'=>array('value2'),'key3'=>'value3');
echo $json = json_encode($arr);


输出的内容如下：
{“key1″:["value1"],”key2″:["value2"],”key3″:”value3″}
熟悉]]></description><category></category></item><item><title><![CDATA[MFC中使用COM组件更改桌面壁纸或图标]]></title><link>https://blog.csdn.net/qingzai_/article/details/78354654</link><guid>https://blog.csdn.net/qingzai_/article/details/78354654</guid><author>qingzai_</author><pubDate>Thu, 26 Oct 2017 15:42:43 +0800</pubDate><description><![CDATA[需要包括的头文件方法如下所示：
一、在 stdafx.h 文件中添加如下头文件：
#pragma once

#ifndef VC_EXTRALEAN
#define VC_EXTRALEAN            // 从 Windows 头中排除极少使用的资料
#endif

#include "targetver.h"

#define _ATL_CSTRING_EXPLICIT_CON]]></description><category></category></item><item><title><![CDATA[vc创建注册表协议，使用协议启动进程]]></title><link>https://blog.csdn.net/qingzai_/article/details/78330380</link><guid>https://blog.csdn.net/qingzai_/article/details/78330380</guid><author>qingzai_</author><pubDate>Tue, 24 Oct 2017 15:45:17 +0800</pubDate><description><![CDATA[下面是创建注册表协议的方法，及隐藏协议启动进程时的警告对话框
#pragma once
#include 
#include 
#include 

// 创建注册表项
BOOL CreateSubkey(HKEY hKey, LPCWSTR lpszSubkey, HKEY& hResult)
{
	DWORD dwDisposition = REG_CREATED_NEW_KEY;
	if]]></description><category></category></item><item><title><![CDATA[利用CLSID在WINDOWS桌面 创建系统图标]]></title><link>https://blog.csdn.net/qingzai_/article/details/78318557</link><guid>https://blog.csdn.net/qingzai_/article/details/78318557</guid><author>qingzai_</author><pubDate>Mon, 23 Oct 2017 14:32:03 +0800</pubDate><description><![CDATA[利用CLSID在Windows Explorer里创建像我的电脑那样的系统图标



今天突然想到在桌面新建一些有功能的特殊图标* 玩玩。不懂什么意思？恶意软件的那些讨人厌的删不掉的桌面图标有印象吧？原理就是在CLSID里插项写数值，然后把ID放到注册表对应的NameSpace里面。恶意软件们玩剩的把戏，其实对于我们来说还是有用的。（自己脑补用处吧噗噗。。）
首先要使用 Guidgen.]]></description><category></category></item><item><title><![CDATA[使用ICON动态修改exe文件图标]]></title><link>https://blog.csdn.net/qingzai_/article/details/78135313</link><guid>https://blog.csdn.net/qingzai_/article/details/78135313</guid><author>qingzai_</author><pubDate>Fri, 29 Sep 2017 16:42:04 +0800</pubDate><description><![CDATA[前言：这两天为exe文件做一个随机图标的功能，要求每次运行后图标都动态改变，在网上找了很多代码，都有一部分缺陷，参考了一些文档后进行了修改，现在在此进行总结：
一个icon资源（可以是*.ico文件，也可以是windows资源节区里的icon group），可以包含多张图片。这些图片有着各自的size或者颜色深度，这些图片可以是bmp格式或者png格式（vista之后支持，一般256*256时使]]></description><category></category></item><item><title><![CDATA[Shell_NotifyIcon 修改托盘图标失败的问题]]></title><link>https://blog.csdn.net/qingzai_/article/details/77674154</link><guid>https://blog.csdn.net/qingzai_/article/details/77674154</guid><author>qingzai_</author><pubDate>Tue, 29 Aug 2017 10:56:01 +0800</pubDate><description><![CDATA[最近需要完成托盘图标闪烁的功能，但是一直没有达到效果，使用Shell_NotifyIcon 一直返回1460的错误。
后面找了很多资料发现问题；NOTIFYICONDATA结构只能在NIM_ADD里面定义一次，多次定义会导致修改托盘图标失败。
NOTIFYICONDATA m_nc;//定义在全局，只定义一次

void CFrameWnd::AddToTray()
{
	m_nc.cbSiz]]></description><category></category></item><item><title><![CDATA[vc下文件下载的两种方法]]></title><link>https://blog.csdn.net/qingzai_/article/details/77368012</link><guid>https://blog.csdn.net/qingzai_/article/details/77368012</guid><author>qingzai_</author><pubDate>Fri, 18 Aug 2017 11:52:00 +0800</pubDate><description><![CDATA[文章中有使用到libcurl相关文件，请自行到官网下载编译后导入使用：下面示例仅供参考
#include "stdafx.h"  
#include 
#include 
#include 
#include "curl/curl.h"
#include "resource.h"  
#include  
#include 
#include "HttpClient.h"
#include 
#]]></description><category></category></item><item><title><![CDATA[PE文件结构详解]]></title><link>https://blog.csdn.net/qingzai_/article/details/76925596</link><guid>https://blog.csdn.net/qingzai_/article/details/76925596</guid><author>qingzai_</author><pubDate>Tue, 08 Aug 2017 18:14:13 +0800</pubDate><description><![CDATA[PE文件结构详解：
1.PE文件时windows下可执行文件的总称，常见的包括OCX，SYS，DLL，EXE等。
	注意：一个文件是否是PE文件和后缀名无关。
2.PE结构：
	|----------------|
	|   DOS头	 |
	|----------------|
	|	|PE签名  |
	| NT头  |PE文件头|
	|	|PE可选头|
	|----------------|]]></description><category></category></item></channel></rss>