<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[htpidk的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/htpidk</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; htpidk]]></copyright><item><title><![CDATA[VS F1本地帮助失效和C盘权限设置]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/121044099</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/121044099</guid><author>htpidk</author><pubDate>Fri, 29 Oct 2021 22:34:01 +0800</pubDate><description><![CDATA[这两天安装了几个第三方的Silverlight控件库后，突然发现vs2010的msdn帮助全没了，打开帮助设置，提示:“为帮助内容存储区指定的位置无效或者您无权访问该位置”，要了亲命了，以前可是花了无数时间在线更新到最新状态滴！
百度了一下，找到了解决办法:
打开注册表，定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Help，删除help下的子项。重启vs，打开帮助设置，重新指定本地msdn帮助的目录为“以前安装的msdn帮助目录"
另外如果C盘部分系统文件夹没有权限，右]]></description><category></category></item><item><title><![CDATA[32位程序读取64位进程内存]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/120678990</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/120678990</guid><author>htpidk</author><pubDate>Sat, 09 Oct 2021 20:54:54 +0800</pubDate><description><![CDATA[//第一步：//定義函數參數結構
typedef NTSTATUS(NTAPI *LPFN_NTWOW64READVIRTUALMEMORY64)(
IN  HANDLE   ProcessHandle,
IN  ULONG64  BaseAddress,
OUT PVOID    BufferData,
IN  ULONG64  BufferLength,
OUT PULONG64 ReturnLength OPTIONAL);
typedef NTSTATUS(NTAPI *LPFN_NTWOW64WR]]></description><category></category></item><item><title><![CDATA[AT&T汇编]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/119984381</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/119984381</guid><author>htpidk</author><pubDate>Sun, 29 Aug 2021 19:34:57 +0800</pubDate><description><![CDATA[AT&amp;T汇编和8086汇编语言虽然两者很相似，但是还是不能根据8086的语法规则来读AT&amp;T汇编的吧，所以还是要看看AT&amp;T汇编的语法规则，因为在读内核代码时，跟硬件打交道的部分代码是用AT&amp;T汇编编写的，所以不可避免的会遇到AT&amp;T汇编，下面先来看看AT&amp;T汇编的语法规则吧。
一、 大小写
INTEL格式的指令使用大写字母，而AT&amp;T格式的使用小写字母。
例：
INTEL  AT&amp;T
MOV EAX,EBX  movl %ebx,%eax
二]]></description><category></category></item><item><title><![CDATA[如何在DEV C++里嵌入汇编]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/119982864</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/119982864</guid><author>htpidk</author><pubDate>Sun, 29 Aug 2021 17:22:00 +0800</pubDate><description><![CDATA[呵呵，这方面的资料很多，但是东是东一鳞西一爪的。这篇也算我自己的一个小总结吧！
在Dev C++里使用内联汇编的格式不同于VC的，这一点需要注意：
VC里采用的是Intel的格式，而Dev C++采用的是AT&amp;A的汇编格式。
如下例：
#include&lt;stdio.h&gt;
int main(){
printf(“Test inline asm\n”);
//在此插入一个int 3中断
_asm int 3 //此处采用的就是Intel的汇编格式
return 0;
}
这个可以在VC下编译]]></description><category></category></item><item><title><![CDATA[使用MSHTML解析HTML页面]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/113000832</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/113000832</guid><author>htpidk</author><pubDate>Fri, 22 Jan 2021 20:24:48 +0800</pubDate><description><![CDATA[&lt;div class="markdown_views"&gt;&lt;p&gt;最近在写一个爬虫项目，本来打算用C/C++来实现，在网上查找有关资料的时候发现了微软的这个MSHTML库，最后发现在解析动态页面的时候它的表现实在是太差：在项目中需要像浏览器那样，执行JavaScript等脚本然后形成静态的HTML页面，最后才分析这个静态页面。但是MSHTML在执行JavaScript等脚本时需要配合WebBroswer这个ActiveX控件，这个控件又必须在GUI程序中使用，但是我做的这个功能...]]></description><category></category></item><item><title><![CDATA[IDispatch 接口方法的调用（领悟版）_com_dispatch_method解释]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/112969123</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/112969123</guid><author>htpidk</author><pubDate>Thu, 21 Jan 2021 18:24:46 +0800</pubDate><description><![CDATA[IDispatch 接口方法的调用（领悟版）_com_dispatch_method解释 在COM开发中免不了要使用 IDispatch 接口,这个接口在脚本中对应的就是 Object 对象,经常在调用一个对象的方法或者使用他的属性的时候最容易的方法就是确切的得到这...]]></description><category></category></item><item><title><![CDATA[HTTP/2 协议规范]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/112605202</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/112605202</guid><author>htpidk</author><pubDate>Thu, 14 Jan 2021 13:51:12 +0800</pubDate><description><![CDATA[简介HTTP2 协议概述开始HTTP2
    1 HTTP2 版本标识符2 http URIs
      21 HTTP2-Settings 头部域 3 https URIs4 先前知识5 连接前言 HTTP 帧
    1 帧格式2 帧大小3 头部压缩和解压缩 流和复用
    1 流状态
      11 流标识...]]></description><category></category></item><item><title><![CDATA[C/C++中的结构体对齐原则]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/109704925</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/109704925</guid><author>htpidk</author><pubDate>Sun, 15 Nov 2020 15:49:47 +0800</pubDate><description><![CDATA[１:数据成员对齐规则：结构(struct)(或联合(union))的数据成员，第一个数据成员放在offset为0的地方，每个数据成员存储的起始位置要从该成员(每个成员本身)大小的整数倍开始(比如int在32位机为４字节,则要从４的整数倍地址开始存储)。


例子：
struct node{     char a;     int b};sizeof(node)=8
0是任何数的整倍数，char的大小为1，int大小为4;
a存放在0offset为位置，b存储的起始位...]]></description><category></category></item><item><title><![CDATA[C++ COM组件编写初探（上）]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/108182472</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/108182472</guid><author>htpidk</author><pubDate>Sun, 23 Aug 2020 14:05:46 +0800</pubDate><description><![CDATA[转自：https://blog.youkuaiyun.com/shejiannan/article/details/26386271&nbsp;最近在学习COM，自己实现了一个小Demo，拿出来和大家分享一下。求各种批评。我实现的这个组件向外提供了一个接口ICompTest,里面只有一个函数helloworld()，功能为返回一个整数89。实现了自...]]></description><category></category></item><item><title><![CDATA[C++ COM组件编写初探（下）]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/108182427</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/108182427</guid><author>htpidk</author><pubDate>Sun, 23 Aug 2020 14:02:54 +0800</pubDate><description><![CDATA[HRESULT _stdcall CompTestFactory::QueryInterface(const IID &amp;riid, void *ppvObject)
{
if (IID_IUnknown == riid){
ppvObject = (IUnknown)this;
((IUnknown)(ppvObject))-&gt;AddRef();
}
else if (IID_IClassFactory == riid){
ppvObject = (IClassFactory)this;
((]]></description><category></category></item><item><title><![CDATA[import+智能指针(WinHttp    WinHttpcom)]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/107442009</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/107442009</guid><author>htpidk</author><pubDate>Sun, 19 Jul 2020 10:50:29 +0800</pubDate><description><![CDATA[通过import导入组件
1.#import “C:\Windows\SysWOW64\winhttpcom.dll”  no_namespace    我用的是W10系统
2.#import “C:\Windows\System32\WinHttp.dll” no_namespace 系统版本低可能是WinHttp.dll
no_namespace 不用命名空间
流程：
1.初始化组建
2.初始化IWinHttpRequestPtr类
3.访问网址，获取信息
4.关闭组建
简单例子：
void CHttp]]></description><category></category></item><item><title><![CDATA[强制链接静态库所有符号(包括未被使用的)]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/107310922</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/107310922</guid><author>htpidk</author><pubDate>Mon, 13 Jul 2020 09:53:43 +0800</pubDate><description><![CDATA[C++程序在链接一个静态库时，如果该静态库里的某些方法没有任何地方调用到，最终这些没有被调用到的方法或变量将会被丢弃掉，不会被链接到目标程序中。这样做大大减小生成二进制文件的体积。但是，某些时候，即使静态库里的某些方法没有任何地方使用到，我们也希望将这些没有使用到的代码编译进最终的二进制文件中。
为什么会有这样的需求？的确，存在这种需求的是少数情况，但是一旦你遇到下面的需求，就变得必须了。比如：
动态插件机制。代码中没有直接调用某方法，但是希望能在运行时动态加载执行某方法。
执行代码覆盖率统计。需要统计静态]]></description><category></category></item><item><title><![CDATA[网络编程之编写LSP进行Winsock API监控拦截或LSP注入]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/107149781</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/107149781</guid><author>htpidk</author><pubDate>Mon, 06 Jul 2020 09:15:43 +0800</pubDate><description><![CDATA[【1】工具介绍：用到的工具：VS2015
语言：C/C++
需要系统提供的动态链接库：1、 sporder.dll    //很多系统不自带着个dll,导致编译时缺少dll无法编译. （发布时必须将此dll放到程序目录）
本人只提供：   WIN7 64位的sporder.dll ：http://download.youkuaiyun.com/do...]]></description><category></category></item><item><title><![CDATA[网络编程之Winsock2 服务提供者接口(SPI)]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/107149734</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/107149734</guid><author>htpidk</author><pubDate>Mon, 06 Jul 2020 09:13:24 +0800</pubDate><description><![CDATA[【1】Winsock2 服务提供者接口(SPI)：

一、简述：

1、一般用于提供给操作系统开发商、传输堆栈商在基础协议的基础上,开发更高级的服务.
2、因为Winsock服务体系符合Windows开放服务体系.所以,它支持第三方服务提供者插入到其中.
3、只要上层和下层的边缘支持Winsock2 SPI,即可向他们中间安装第三方提供者程序.
4、普通开发者一般都是开发SPI的LSP(分层服务提供者),即第三方提供者,可用于监控Winsock API执行,HOOK&nbsp;Winsock API,甚..]]></description><category></category></item><item><title><![CDATA[C语言实现 IBindStatusCallBack接口, 进度下载]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/106582310</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/106582310</guid><author>htpidk</author><pubDate>Sat, 06 Jun 2020 08:04:42 +0800</pubDate><description><![CDATA[#include &lt;stdio.h&gt;
#include &lt;urlmon.h&gt;
#pragma comment (lib, "urlmon.lib")
HRESULT ( STDMETHODCALLTYPE QueryInterface )(
IBindStatusCallbac...]]></description><category></category></item><item><title><![CDATA[为 URLDownloadToFile 函数实现进度条]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/106582307</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/106582307</guid><author>htpidk</author><pubDate>Sat, 06 Jun 2020 08:03:16 +0800</pubDate><description><![CDATA[URLDownloadToFile这个函数，我一开始只是用它来下载配置文件，主要考虑到如果下载较大的文件这个函数会阻塞很长时间，全部下载完毕后才返回，而且无法显示下载进度，今天才知道自己火星了，人家的最后一个参数提供了相关的接口（以前看都不看直接传NULL），查了些资料总算搞清楚怎么用了，记录一下。
１。创建一个IBindStatusCallback的派生类，声明IBindStatusCa...]]></description><category></category></item><item><title><![CDATA[解决URLDownloadToFile缓存问题]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/106582297</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/106582297</guid><author>htpidk</author><pubDate>Sat, 06 Jun 2020 08:00:47 +0800</pubDate><description><![CDATA[本文转自：http://www.dtapp.cn/gbook.php?gid=10查看原文：解决URLDownloadToFile缓存问题URLDownloadToFile下载文件前先在本地的缓存中查找此文件如果缓存有则不会再去网上抓最新的文件，所以我们还要解决URL...]]></description><category></category></item><item><title><![CDATA[WNDCLASS结构]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/105478170</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/105478170</guid><author>htpidk</author><pubDate>Sun, 12 Apr 2020 22:40:23 +0800</pubDate><description><![CDATA[registerclass用wndclass，registerclassex用wndclassex
WNDCLASS结构：
style:指定类风格。这些风格可通过按位或操作组合起来。风格如下:
　　CS_BYTEALIGNCLIENT: 在字节边界上（在x方向上）定位窗口的用户区域的位置
　　CS_BYTEALIGNWINDOW: 在字节边界上（在x方向上）定位窗口的位置
　　CS_CLASSDC...]]></description><category></category></item><item><title><![CDATA[windows获取系统网络流量]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/105010132</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/105010132</guid><author>htpidk</author><pubDate>Sat, 21 Mar 2020 15:01:17 +0800</pubDate><description><![CDATA[函数&nbsp; DWORD GetIfTable(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PMIB_IFTABLE pIfTable,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PULONG pdwSize,&nbsp; &nbsp; &nbsp; &nb...]]></description><category></category></item><item><title><![CDATA[为什么模板函数应该定义在头文件内]]></title><link>https://blog.youkuaiyun.com/htpidk/article/details/104935914</link><guid>https://blog.youkuaiyun.com/htpidk/article/details/104935914</guid><author>htpidk</author><pubDate>Wed, 18 Mar 2020 01:03:33 +0800</pubDate><description><![CDATA[&nbsp;
参考：
https://www.cnblogs.com/cnsec/p/3789824.html
&nbsp;
general的编译链接过程：
首先，C++标准中提到，一个编译单元[translation unit]是指一个.cpp文件以及它所include的所有.h文件，.h文件里的代码将会被...]]></description><category></category></item></channel></rss>