- 博客(61)
- 收藏
- 关注
原创 VS F1本地帮助失效和C盘权限设置
这两天安装了几个第三方的Silverlight控件库后,突然发现vs2010的msdn帮助全没了,打开帮助设置,提示:“为帮助内容存储区指定的位置无效或者您无权访问该位置”,要了亲命了,以前可是花了无数时间在线更新到最新状态滴!百度了一下,找到了解决办法:打开注册表,定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Help,删除help下的子项。重启vs,打开帮助设置,重新指定本地msdn帮助的目录为“以前安装的msdn帮助目录"另外如果C盘部分系统文件夹没有权限,右
2021-10-29 22:34:01
404
原创 32位程序读取64位进程内存
//第一步://定義函數參數結構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
2021-10-09 20:54:54
1844
转载 AT&T汇编
AT&T汇编和8086汇编语言虽然两者很相似,但是还是不能根据8086的语法规则来读AT&T汇编的吧,所以还是要看看AT&T汇编的语法规则,因为在读内核代码时,跟硬件打交道的部分代码是用AT&T汇编编写的,所以不可避免的会遇到AT&T汇编,下面先来看看AT&T汇编的语法规则吧。一、 大小写INTEL格式的指令使用大写字母,而AT&T格式的使用小写字母。例:INTEL AT&TMOV EAX,EBX movl %ebx,%eax二
2021-08-29 19:34:57
1017
转载 如何在DEV C++里嵌入汇编
呵呵,这方面的资料很多,但是东是东一鳞西一爪的。这篇也算我自己的一个小总结吧!在Dev C++里使用内联汇编的格式不同于VC的,这一点需要注意:VC里采用的是Intel的格式,而Dev C++采用的是AT&A的汇编格式。如下例:#include<stdio.h>int main(){printf(“Test inline asm\n”);//在此插入一个int 3中断_asm int 3 //此处采用的就是Intel的汇编格式return 0;}这个可以在VC下编译
2021-08-29 17:22:00
1712
转载 使用MSHTML解析HTML页面
<div class="markdown_views"><p>最近在写一个爬虫项目,本来打算用C/C++来实现,在网上查找有关资料的时候发现了微软的这个MSHTML库,最后发现在解析动态页面的时候它的表现实在是太差:在项目中需要像浏览器那样,执行JavaScript等脚本然后形成静态的HTML页面,最后才分析这个静态页面。但是MSHTML在执行JavaScript等脚本时需要配合WebBroswer这个ActiveX控件,这个控件又必须在GUI程序中使用,但是我做的这个功能...
2021-01-22 20:24:48
470
转载 IDispatch 接口方法的调用(领悟版)_com_dispatch_method解释
IDispatch 接口方法的调用(领悟版)_com_dispatch_method解释 在COM开发中免不了要使用 IDispatch 接口,这个接口在脚本中对应的就是 Object 对象,经常在调用一个对象的方法或者使用他的属性的时候最容易的方法就是确切的得到这...
2021-01-21 18:24:46
1010
1
转载 HTTP/2 协议规范
简介HTTP2 协议概述开始HTTP2 1 HTTP2 版本标识符2 http URIs 21 HTTP2-Settings 头部域 3 https URIs4 先前知识5 连接前言 HTTP 帧 1 帧格式2 帧大小3 头部压缩和解压缩 流和复用 1 流状态 11 流标识...
2021-01-14 13:51:12
211
1
转载 C/C++中的结构体对齐原则
1:数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,每个数据成员存储的起始位置要从该成员(每个成员本身)大小的整数倍开始(比如int在32位机为4字节,则要从4的整数倍地址开始存储)。例子:struct node{ char a; int b};sizeof(node)=80是任何数的整倍数,char的大小为1,int大小为4;a存放在0offset为位置,b存储的起始位...
2020-11-15 15:49:47
215
转载 C++ COM组件编写初探(上)
转自:https://blog.csdn.net/shejiannan/article/details/26386271 最近在学习COM,自己实现了一个小Demo,拿出来和大家分享一下。求各种批评。我实现的这个组件向外提供了一个接口ICompTest,里面只有一个函数helloworld(),功能为返回一个整数89。实现了自...
2020-08-23 14:05:46
261
转载 C++ COM组件编写初探(下)
HRESULT _stdcall CompTestFactory::QueryInterface(const IID &riid, void *ppvObject){if (IID_IUnknown == riid){ppvObject = (IUnknown)this;((IUnknown)(ppvObject))->AddRef();}else if (IID_IClassFactory == riid){ppvObject = (IClassFactory)this;((
2020-08-23 14:02:54
199
转载 import+智能指针(WinHttp WinHttpcom)
通过import导入组件1.#import “C:\Windows\SysWOW64\winhttpcom.dll” no_namespace 我用的是W10系统2.#import “C:\Windows\System32\WinHttp.dll” no_namespace 系统版本低可能是WinHttp.dllno_namespace 不用命名空间流程:1.初始化组建2.初始化IWinHttpRequestPtr类3.访问网址,获取信息4.关闭组建简单例子:void CHttp
2020-07-19 10:50:29
550
3
转载 强制链接静态库所有符号(包括未被使用的)
C++程序在链接一个静态库时,如果该静态库里的某些方法没有任何地方调用到,最终这些没有被调用到的方法或变量将会被丢弃掉,不会被链接到目标程序中。这样做大大减小生成二进制文件的体积。但是,某些时候,即使静态库里的某些方法没有任何地方使用到,我们也希望将这些没有使用到的代码编译进最终的二进制文件中。为什么会有这样的需求?的确,存在这种需求的是少数情况,但是一旦你遇到下面的需求,就变得必须了。比如:动态插件机制。代码中没有直接调用某方法,但是希望能在运行时动态加载执行某方法。执行代码覆盖率统计。需要统计静态
2020-07-13 09:53:43
988
转载 网络编程之编写LSP进行Winsock API监控拦截或LSP注入
【1】工具介绍:用到的工具:VS2015语言:C/C++需要系统提供的动态链接库:1、 sporder.dll //很多系统不自带着个dll,导致编译时缺少dll无法编译. (发布时必须将此dll放到程序目录)本人只提供: WIN7 64位的sporder.dll :http://download.csdn.net/do...
2020-07-06 09:15:43
1827
转载 网络编程之Winsock2 服务提供者接口(SPI)
【1】Winsock2 服务提供者接口(SPI):一、简述:1、一般用于提供给操作系统开发商、传输堆栈商在基础协议的基础上,开发更高级的服务.2、因为Winsock服务体系符合Windows开放服务体系.所以,它支持第三方服务提供者插入到其中.3、只要上层和下层的边缘支持Winsock2 SPI,即可向他们中间安装第三方提供者程序.4、普通开发者一般都是开发SPI的LSP(分层服务提供者),即第三方提供者,可用于监控Winsock API执行,HOOK Winsock API,甚..
2020-07-06 09:13:24
1041
转载 C语言实现 IBindStatusCallBack接口, 进度下载
#include <stdio.h>#include <urlmon.h>#pragma comment (lib, "urlmon.lib")HRESULT ( STDMETHODCALLTYPE QueryInterface )(IBindStatusCallbac...
2020-06-06 08:04:42
461
转载 为 URLDownloadToFile 函数实现进度条
URLDownloadToFile这个函数,我一开始只是用它来下载配置文件,主要考虑到如果下载较大的文件这个函数会阻塞很长时间,全部下载完毕后才返回,而且无法显示下载进度,今天才知道自己火星了,人家的最后一个参数提供了相关的接口(以前看都不看直接传NULL),查了些资料总算搞清楚怎么用了,记录一下。1。创建一个IBindStatusCallback的派生类,声明IBindStatusCa...
2020-06-06 08:03:16
363
转载 解决URLDownloadToFile缓存问题
本文转自:http://www.dtapp.cn/gbook.php?gid=10查看原文:解决URLDownloadToFile缓存问题URLDownloadToFile下载文件前先在本地的缓存中查找此文件如果缓存有则不会再去网上抓最新的文件,所以我们还要解决URL...
2020-06-06 08:00:47
394
原创 WNDCLASS结构
registerclass用wndclass,registerclassex用wndclassexWNDCLASS结构:style:指定类风格。这些风格可通过按位或操作组合起来。风格如下: CS_BYTEALIGNCLIENT: 在字节边界上(在x方向上)定位窗口的用户区域的位置 CS_BYTEALIGNWINDOW: 在字节边界上(在x方向上)定位窗口的位置 CS_CLASSDC...
2020-04-12 22:40:23
195
1
转载 windows获取系统网络流量
函数 DWORD GetIfTable( PMIB_IFTABLE pIfTable, PULONG pdwSize, &nb...
2020-03-21 15:01:17
1205
转载 为什么模板函数应该定义在头文件内
参考:https://www.cnblogs.com/cnsec/p/3789824.html general的编译链接过程:首先,C++标准中提到,一个编译单元[translation unit]是指一个.cpp文件以及它所include的所有.h文件,.h文件里的代码将会被...
2020-03-18 01:03:33
200
转载 VS2015工程转换为VS2013工程方法汇总
一、引用转载1:http://www.cnblogs.com/jmliao/p/5594179.html转载2:http://blog.csdn.net/xiaoxiaoyusheng2012/article/details/48162075 地址转载的源头 http://bbs.chinaunix.net/thread-4177853-1-1.html 二、具体操作步骤 ...
2020-02-25 20:45:41
711
原创 如何查看 lib 文件
VC的话进入命令行方式(如VS2005:菜单上有Visual Studio 2005 命令提示)然后进入你lib所在目录(用cd …)就可用dumpbin了lib就是obj打包而已,可以试试用dumpbin列一下内容dumpbin /all ansiibf.lib...
2020-02-22 02:21:33
1025
转载 浅谈__declspec(selectany)该何时用
浅谈__declspec(selectany)该何时用__declspec是一个Microsoft Visual C++特定的编译器属性开关。括号中指明的是哪一个属性生效。关于__declspec的其他属性可以百度“__declspec msdn”查看微软的官方帮助。也可以参看博客中转载的文章。言归正传。__declspec(selectany)在MSDN中的说明是这样的:Te...
2020-02-16 03:53:19
168
转载 使用 __declspec(dllimport) 导入函数调用
下面的代码示例显示如何使用 _declspec(dllimport) 将函数调用从 DLL 导入到应用程序中。 假定 func1 是驻留在某个 DLL 中的函数,而此 DLL 与包含“主”函数的 .exe 文件是分开的。不使用 __declspec(dllimport),给出此代码:int main(void){func1();}编译器生成类似下面的代码:call func1链接器...
2020-02-09 22:56:38
235
转载 __declspec(dllexport)与__declspec(dllimport)
区别他们都是DLL内的关键字,即导出与导入。他们是将DLL内部的类与函数以及数据导出与导入时使用的。 dllexport是在这些类、函数以及数据的申明的时候使用。用他表明这些东西可以被外部函数使用,即(dllexport)是把 DLL中的相关代码(类,函数,数据)暴露出来为其他应用程序使用。使用了(dllexport)关键字,相当于声明了紧接在(dllexport)关键字后面的相关内容是可以...
2020-02-09 22:56:00
141
转载 IRP、IO_STACK_LOCATION、文件三种读写方式(buffer/driect/other)、DeviceIoControl
IRP上层应用程序和底层驱动程序通信时,应用程序会发出I/O请求,操作系统将I/0请求转化为相应的IRP数据,不同类型的IRP根据类型传递给不同的派遣函数IRP有两个基本属性,一个是MagorFunction,一个是MinorFunction,分别记录IRP的主类型和子类型,操作系统根据MajorFunction将IRP派遣到不同的派遣函数中,在派遣函数中还可以判断这个IRP属于哪个Mino...
2020-02-04 19:15:45
727
1
转载 WinDDK+VS2010驱动环境配置
1. 安装VS2010,WDK7.60(GRMWDK_EN_7600_1)2. 新建VC 控制台项目(选择为空项目) 3. 新建项目配置“driver” ,点击下拉按钮-点击(配置管理器)输入名称(driver)点击确定就可以了,其他的不要动哦!完成后的效果!点击确定按钮之后呈现出来的画面鼠标右击新建的driver属性,会弹出以下窗口...
2020-02-02 21:59:52
1556
转载 Windows驱动开发学习笔记(一)—— 环境配置&第一个驱动程序
原文链接:https://blog.csdn.net/qq_41988448/article/details/103456086环境配置安装VS2010:https://pan.baidu.com/s/1uZWWxCtB60QPaqlf4ICWVQ 提取码:qqro安装WDK7600:https://pan.baidu.com/s/1OsWmwrMXClxzAhpfqli6ew 提取码:bv...
2020-02-02 21:54:17
248
转载 VS项目中的包含目录、库目录、附加包含目录、附加库目录、附加依赖项
<div class="htmledit_views" id="content_views">VS项目中...
2020-01-31 12:19:47
373
原创 http状态码附录
3 http状态码附录3.1 状态码1xx100 Continue:服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。101 Switching Protocols:服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。102: 由WebDAV(RFC 2518):扩展的状态码,代表处理将被继续执行3.2 状态码2xx:成功200 OK:...
2020-01-29 17:20:56
130
转载 VS内联汇编
被忽悠了,一直以为lea和mov指令差不多的,今天算是知道了,顺便测试了下C内联汇编的效率 转载请注明出处http://www.cppblog.com/greatws/archive/2008/04/22/47783.html今天突发奇想想玩玩C的内联汇编,以前也经常在DOS下玩debug,那就先整个最简单的MessageBox玩玩咯网上找了一段代码 char*&nbs...
2020-01-29 16:15:01
705
转载 VARIANT 类型说明
string CAdoConnection::VariantToString(const _variant_t &var){ string strValue; TCHAR szValue[1024] = {0x00}; switch (var.vt) { case VT_BSTR://字符串 case VT_LPSTR://字符串 case VT_LPWSTR://字符串 strV...
2020-01-08 09:33:20
167
转载 VARIANT的使用方法
VARIANT结构体主要是使用在COM(组件对象模型)中用于传递参数使用,它的存在主要是为了保持一个在COM参数传递方法的统一性,它几乎包含了所有普通常用类型的数据类型的传递,如整型,浮点型,布尔型等等,以及相应类型的指针类型,如整型指针。它的使用也比较方便。先来看看这个结构体它的结构:typedef struct tagVARIANT { union { &nbs...
2020-01-08 09:31:57
1084
原创 COM、ActiveX、OCX
COM是microsoft制定的一个组件软件标准,跟unix上的CORBA一样。凡是遵循COM标准开发出来的组件称为COM组件。简单的说就是要实现在二进制方式的重用 。在windows平台上,COM的实现形式有DLL(进程内组件)和EXE(进程外组件)2种。ActiveX是Microsoft提出的一组使用COM(Component Object Model,部件对象模型)使得软件部件在网络环境...
2020-01-06 12:48:32
737
原创 GUID、UUID、CLSID、IID
各种ID的区别:GUID、UUID、CLSID、IID当初微软设计COM规范的时候,有两种选择来保证用户的设计的COM组件可以全球唯一:第一种是采用和Internet地址一样的管理方式,成立一个管理机构,用户如果想开发一个COM组件的时候需要向该机构提出申请,并交一定的费用。第二种是发明一种算法,每次都能产生一个全球唯一的COM组件标识符。第一种方法,用户使用起来太不方便,微软采用第二种方...
2020-01-06 12:37:13
443
原创 易语言调用COM注意事项
一个简单的COM组件dll放在桌面上然后调用regsvr32注册,注册成功后用易语言调用出现问题,用对象.创建(“FirstCom.id.1”,)这种形式创建对象失败,只能用对象.创建("{XXXXXXXX-XXXX-XXXX-XXXXXXXX}",)的形式创建对象,用ProgId不能创建只能用CLSID,经过测试只有将dll放到system32/syswow64文件夹时才能用对象.创建(“Fir...
2020-01-06 12:31:58
1149
1
转载 ATL与COM之间的关系、ATL的特点与基本使用方法
ATL,Active Template Library活动模板库是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。通过活动模板库,可以建立COM组件,然后通过ASP页面中的脚本对COM对象进行调用。这种COM组件可以包含属性页、对话框等等控件。ATL简介 一. 什么是ATL 自从1993年Microsoft首次公布了COM技术以后...
2020-01-06 12:25:32
749
转载 c++简单的ATL COM开发和调用实例
1、打开VS2010,新建ATL COM 项目,步骤:“文件” --》“新建” --》“项目”,选择“Visual C++” --》“ATL 项目” ,填写“名称” FirstCOM --》“确定”。2、ATL 项目向导,勾选 【支持COM+ 1.0】和【支持部件注册器】,其他默认,点击完成。3、切换到类...
2020-01-06 12:23:21
562
转载 WOW64:文件和注册表的重定向
原文:注册表重定向 http://blog.csdn.net/is2120/article/details/7246334 32位程序读取64位注册表 http://bbs.eyuyan.com/read.php?tid=261750 注册表重定向解决办法: 32位程序如何...
2020-01-06 12:07:29
1184
转载 windows网络模型之重叠IO(完成例程)的使用
#include <WINSOCK2.H>#include <stdio.h>#define PORT 5150#define MSGSIZE 1024#pragma comment(lib, “ws2_32.lib”)typedef struct{WSAOVERLAPPED overlap;WSABUF Buffer;char ...
2020-01-06 12:02:48
273
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人