自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

转载 SHGetFileInfo取windows文件信息

SHGetFileInfo取windows文件信息SHGetFileInfo取windows文件信息

2012-02-27 15:03:59 437

转载 用SQL建立索引 分享

假设你想找书中的某一个句子。你可以一页一页地逐页搜索,但这会花很多时间。而通过使用索引,你可以很快地找到你要搜索的主题。  表的索引与附在一本书后面的索引非常相似。它可以极大地提高查询的速度。对一个较大的表来说,通过加索引,一个通常要花费几个小时来完成的查询只要几分钟就可以完成。  注意:  当你的内存容量或硬盘空间不足时,也许你不想给一个表增加索引。对于包含索引的数据库,SQL Se

2012-02-25 11:49:26 411

转载 理解COM套间(第二部分)

本文的前一部分阐述了为什么和怎样使用COM套间。读过之后,你会知道,调用CoInitialize或者CoInitializeEx的时候,线程被放入到套间中。你还会知道,对象创建的时候也被放入到套间中,COM使用注册表中的ThreadingModel值决定将进程内对象放到什么类型的套间中。你还会知道,有三种类型的套间:单线程套间STA;多线程套间MTA;线程中立套间NTA。Windows 200

2012-02-25 11:38:45 676

转载 理解COM套间(第一部分)

编写拙作《关于COM组件线程模型的实验》的过程中,发现自己无法合理解释特定情况下程序的运行情况。为更深入理解COM的线程模型,合理解释程序运行情况,找了一些资料看。发现一篇英文文章不错,特地翻译出来。关于对STA中对象的回调处理、其他套间中的线程对MTA中的对象的调用是通过RPC线程池里的线程进行的,以及不应该在自由线程和双线程模型的组件中使用线程局部存储这三点,是我在这篇文章中首次看到的,也是这

2012-02-25 11:38:23 681

转载 DLL内存分配与共享

一旦DLL的文件映像被映射到调用进程的地址空间中,DLL的函数就可以供进程中运行的所有线程使用。实际上,DLL几乎将失去它作为DLL的全部特征。对于进程中的线程来说,DLL的代码和数据看上去就像恰巧是在进程的地址空间中的额外代码和数据一样。当一个线程调用DLL函数时,该DLL函数要查看线程的堆栈,以便检索它传递的参数,并将线程的堆栈用于它需要的任何局部变量。此外, DLL中函数的代码创建的任何对

2012-02-25 11:02:24 1996

转载 语言那点事,crt

C语言标准(不管是ANSI 还是ISO)包含2部分,一部分是语言本身的标准,另一部分是C标准函数库。C标准函数库规定了函数的原型和功能,但是并没限定这些函数要怎么实现。所谓满足标准C规定的C编译器,不仅指这个编译器满足C语言本身的标准,还指这个编译器提供了一组满足C标准库的库函数。这组库函数是由编译器厂商实现,并且满足标准C规定的功能和接口的。这些库函数,厂商并不一定要提供给用户源文件给用户编译用

2012-02-25 10:57:53 2565

转载 函数的调用规则(__cdecl,__stdcall,__fastcall,__pascal) \DLL内存使用

关于函数的调用规则(调用约定),大多数时候是不需要了解的,但是如果需要跨语言的编程,比如VC写的dll要delphi调用,则需要了解。        microsoft的vc默认的是__cdecl方式,而windows API则是__stdcall,如果用vc开发dll给其他语言用,则应该指定__stdcall方式。堆栈由谁清除这个很重要,如果是要写汇编函数给C调用,一定要小心堆栈的清除工作,

2012-02-25 10:17:12 1640

转载 COM中常用宏的总结

COM中常用宏的总结(一)1)STDMETHOD:定义了一个返回HRESULT类型的虚方法。 #define STDMETHOD(method)     virtual HRESULT STDMETHODCALLTYPE method其中,STDMETHODCALLTYPE定义了参数传递的方法类型,如下: #ifdef _WIN32   // Win32 doesn't suppo

2012-02-25 10:09:08 866

转载 _declspec(dllexport) \__declspec(dllimport)

__declspec(XXXXXX)是windows扩展C++的编译宏头_declspec(dllexport) 声明一个导出函数,是说这个函数要从本DLL导出。我要给别人用。一般用于dll中 。省掉在DEF文件中手工定义导出哪些函数的一个方法。当然,如果你的DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用__declspec(dllexpor

2012-02-24 13:56:08 651

转载 ATL_NO_VTABLE

我们可以注意到在用ATL编写COM组件时,在类前面都有一个宏ATL_NO_VTABLE,那么这个宏到底有什        么作用呢?这个宏的定义如下:        #define    __declspec(novtable)    ATL_NO_VTABLE;            下面这段是MSDN中对这个宏的描述:        This    form    of

2012-02-24 10:48:14 1877

转载 【架构技术】模板类继承

在C++中,除了一般的指定基类名称的继承外,还有一种使用模版技术的继承,称之为模版继承。请看如下代码,是偶从ATL的源代码中抽取出来的。NOTE:   Class A 想要变成com组件,需要写一堆东西,有一事就是从IDispatch间接继承,IA::IDispatch。这是传统的想把类A变成一个属于别个类B体系的方法:类A继承类B              模板类继承则提供了

2012-02-24 10:15:02 2171

转载 初始化COM类,在FinalConstruct与构造函数中初始化有何区别

There   are   advantages   to   performing   initialization   in   FinalConstruct   rather   than   the   constructor   of   your   class:        You   cannot   return   a   status   code   from

2012-02-24 10:04:57 2838

转载 cookie和session

cookie和session机制之间的区别与联系具体来说cookie机制采用的是在客户端保持状态的方案。它是在用户端的会话状态的存贮机制,他需要用户打开客户端的cookie支持。cookie的作用就是为了解决HTTP协议无状态的缺陷所作的努力.而session机制采用的是一种在客户端与服务器之间保持状态的解决方案。同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所

2012-02-23 13:07:15 336

转载 do while(false) :提高代码质量

do while(false)  :提高代码质量经常会遇到这样的情况,一大段代码,中间遇到某种情况,比如someObj == null,需要跳出这段代码,但是又不在循环之中,只好处理成这样:if(someObj != null){  //doSomething    if(someOther fit someCondition){      }}

2012-02-23 10:05:39 629

转载 计算windows一个文件大小

WIN32_FIND_DATA ffd ;             HANDLE hFind = FindFirstFile(strFilePath, &ffd);           check(INVALID_HANDLE_VALUE == hFind);            FindClose(hFind);            DWORD sizeHigh = ff

2012-02-23 10:03:09 650

转载 跨线程操作GUI

跨线程操作GUI(转)无论是WIN32还是Windows Form还是WPF还是Swing,都不支持GUI线程之外的线程直接访问其API。今天我们来回顾一下这个发展过程。一个普通的操作是怎么被封装封装再封装的。Win32在Windows SDK时代,我们都知道,界面就是一个大的WndProc控制的。switch (message){case WM

2012-02-19 18:19:39 1412

转载 postmessage 实现 task 线程 switch

利用postmessage实现一个跨线程的task运行机制,  sendmessage也可以跨线程,但是用这个会卡死发起的线程,因为是同步的,会被骂。。。。一个UI线程创建一个msg hwnd: m_mainThreadHwnd再起一个线程m_taskmgrThread,创建一个taskmgr,实质也是一个msg hwnd:m_taskmgrHwnd,这个taskmgr里面

2012-02-19 17:18:34 744

转载 神一样的见解!!! 函数式编程 理解

1. 概论在过去的近十年的时间里,面向对象编程大行其道。以至于在大学的教育里,老师也只会教给我们两种编程模型,面向过程和面向对象。孰不知,在面向对象产生之前,在面向对象思想产生之前,函数式编程已经有了数十年的历史。那么,接下来,就让我们回顾这个古老又现代的编程模型,让我们看看究竟是什么魔力将这个概念,将这个古老的概念,在21世纪的今天再次拉入了我们的视野。

2012-02-18 00:09:28 513

原创 编程心得

1、好的码农应该这样:    a) 多写出复用的代码,为了写出重用代码,必须写出低耦合的代码,为了低耦合进一步又得写出高内聚的代码    b) 代码总是给别人看的。第一看结构,分层、分模块,一个cpp干一件功能,一个类专注一件事情,尽量不耦合,多想想为以后的扩展,别把自己逼死了   c) 架构、架构、架构。多了解业务,有了业务,才清楚那块归哪块,哪块只干嘛,模块怎么组合成一个完整的项目

2012-02-18 00:03:07 310

转载 提升Web应用程序性能的最佳实践

导读:作为开发人员,Web页面加载或刷新的速度对其网站至关重要。在浏览器中调整性能问题比在Java应用程序中更难。开发人员在各种浏览器中调试JavaScript的方法要少得多。比如,在Mozilla Firefox中,可以使用Firebug调试JavaScript,但仍然不能调整很多性能问题,如浏览器呈现消耗时间。为了解决这些问题,有必要开发浏览器插件来监控时间响应,以及确定其他对应解决方案如部分

2012-02-17 23:50:34 390

转载 使用ETags减少Web应用带宽和负载

最近,大众对于REST风格应用架构表现出强烈兴趣,这表明Web的优雅设计开始受到人们的注意。现在,我们逐渐理解了“3W架构(Architecture of the World Wide Web)”内在所蕴含的可伸缩性和弹性,并进一步探索运用其范式的方法。本文中,我们将探究一个可被Web开发者利用的、鲜为人知的工具,不引人注意的“ETag响应头(ETag Response Header)”,以及

2012-02-17 23:49:54 396

转载 【web】FireBug调试技巧

1、使用Firebug可以找到页面中的任何内容  不知道各位有无遇到过这样的情况,在一个复杂的HTML页面中,当你想找某个页面元素的实际对应的HTML时,你不得不在一大堆HTML代码中去查找,十分麻烦。有了Firebug,现在你只需要在页面中,用鼠标右键选中某个元素,然后在弹出的菜单中,选择“查看元素”,马上就会在HTML页面代码中找到该元素对应的代码了,十分方便,如下图所示:

2012-02-17 23:22:06 581

转载 从零开始学习Ajax

何谓AJAX?      AJAX(Asynchronous JavaScript and XML)是一种创建交互式网页应用的网页开发技术。AJAX使用JavaScript编写的 XMLHttpRequest 对象与与服务器通信。使用XMLHttpRequest,浏览器向Web 服务器发送异步HTTP请求,页面无需重载即可与Web 服务器交换数据。  AJAX技术的标准实现是X

2012-02-17 23:12:44 482

转载 SSL、CSR

什么是SSL?CSR?1、什么是SSL?Secure Socket Layer(SSL)协议最初由Netscape公司提出,现已成为网络用来鉴别网站和网页浏览者身份,以及在浏览器使用者及网页服务器之间进行加密通讯的全球化标准。SSL技术已建立到所有主要的浏览器和WEB服务器程序中。2、什么叫CSR?CSR是一个证书签名请求,是客户的服务器软件所生成的一串文本字符。服务器在向CA

2012-02-16 10:01:54 2248

转载 HTTPS

什么是HTTPS: HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS

2012-02-16 09:58:36 721

原创 网络编程常用工具

1、WireShark抓包利器,重点推荐1. Firebug它集HTML查看和编辑、Javascript控制台、网络状况监视器于一体,是开发JavaScript、CSS、HTML和Ajax的得力 助手。2. Window ResizerWindow Resizer是一个修改窗口属性的小程序,可以更改窗口的句柄、大小、标题等属性,它还可以使一个窗口总是保持在最前面

2012-02-15 10:09:07 1089

转载 理解HTTP消息头 1

理解HTTP消息头 1分类: 技术类 2006-05-31 22:52 2227人阅读 评论(0)收藏 举报但凡搞WEB开发的人都离不开HTTP(超文本传输协议),而要了解HTTP,除了HTML本身以外,还有一部分不可忽视的就是HTTP消息头。做过Socket编程的人都知道,当我们设计一个通信协议时,“消息头/消息体”的分割方式是很常用的,消息头告诉对方这个

2012-02-14 10:33:23 442

转载 一个网络编程解决问题的例子

局域网自动登录其实我是要在程序中访问一个内部网站,但这个网站会弹出一个登录对话框提示输入“用户名”和“密码”。这个对话框是标准的windows登录对话框,就像通过 \\10.70.1.8 这种方式访问局域网中某台机器时弹出的对话框一样,所以我将标题取为“局域网自动登录”。我有用户名和密码,我希望在程序中能实现自动登录,因为只有登录后我才能访问内部网站。用户名是: 域

2012-02-14 10:32:06 2249

转载 巧用windows cmd 查询网络问题

pingnetstatipconfig /all

2012-02-13 16:34:26 637

转载 Wireshark 教學

這篇內容除了介紹wireshark的基本使用,還介紹了三個部分第一部分是看看大家平常上的BBS或是網頁有多危險,我們如何輕易知道別人的密碼。第二部分是觀察一下HTTP的protocol,這好像沒什麼 。第三部分利用了roomi這個網站來看看,似乎可以輕易洗錢???我也不知道...囧>有興趣就點進去看看吧...文章實在有點長編輯起來真麻煩。另外,裡面對封包的定義不是很完善,如

2012-02-13 16:32:39 1426

原创 windows错误码查询

http://msdn.microsoft.com/en-us/library/ms681384%28v=vs.85%29.aspx

2012-02-13 16:32:04 1042 1

转载 IE 局域网自动配置脚本 PAC解析

GoogleWebAccelerator用的Proxy.pac代理原理介绍[转]  2010-10-05 20:30:48|  分类:默认分类 |字号 订阅GoogleWebAccelerator用的Proxy.pac代理原理介绍  Proxy Auto Config什么是 Proxy Auto Config? 首先,

2012-02-13 16:30:30 8147

转载 C:\Windows\System32\drivers\etc 下的hosts文件

一、什么是Hosts文件?hosts文件是一个用于储存计算机网络中各节点信息的计算机文件。这个文件负责将主机名映射到相应的IP地址。hosts文件通常用于补充或取代网络中DNS的功能。和DNS不同的是,计算机的用户可以直接对hosts文件进行控制。hosts文件是windows权限比较高的本地DNS服务器替代功能,系统发现在此文件中转换了IP,将不会再去网络进行DNS转换

2012-02-13 13:52:01 6103

转载 TCP通信方式小结

一。通信方式主要有以下三大类: (一)SERVER/CLIENT方式 1.一个Client方连接一个Server方,或称点对点(peer to peer): 2.多个Client方连接一个Server方,这也是通常的并发服务器方式。 3.一个Client方连接多个Server方,这种方式很少见,主要 用于一个客户向多个服务器发送请求情况。 (二)连接方式 1.长

2012-02-13 10:38:22 1255

转载 web缓存

什么是Web缓存,为什么要使用它? 缓存的类型: 浏览器缓存; 代理服务器缓存; Web缓存无害吗?为什么要鼓励缓存? Web缓存如何工作: 如何控制(控制不)缓存: HTML Meta标签 vs. HTTP头信息; Pragma HTTP头信息(为什么不起作用); 使用Expires(过期时间)HTTP头信息控制保鲜期; Cache-Control(缓存控

2012-02-11 11:14:00 527

转载 域名 IP 对应关系

一个域名最多能对应几个IP地址?,一个IP地址可以绑定几个域名? 1、也就是说通常情况下一个域名同一时刻只能对应一个IP地址。但是在域名服务商那里,你可以把服务器群里面的多个提供相同服务的服务器IP设置一个域名可以轮询。但是同一时刻,一个域名只能解析出一个IP供你使用。这些IP可以轮流着被解析。这些IP其实对应的服务器提供的是同一种的服务。2、一个IP可以绑定无

2012-02-11 11:13:13 5496

转载 【网络】HTTP mime 定义

最早的HTTP协议中,并没有附加的数据类型信息,所有传送的数据都被客户程序解释为超文本标记语言HTML 文档,而为了支持多媒体数据类型,HTTP协议中就使用了附加在文档之前的MIME数据类型信息来标识数据类型。  MIME意为多目Internet邮件扩展,它设计的最初目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理。然而当它被HTTP协议支持之后,它的意义就更为显著

2012-02-10 13:54:17 1239

转载 Windows完成端口编程

目录一 基本概念二 OVERLAPPED数据结构三 完成端口的内部机制创建完成端口完成端口线程的工作原理线程间数据传递线程的安全退出一 基本概念       设备---windows操作系统上允许通信的任何东西,比如文件、目录、串行口、并行口、邮件槽、命名管道、无名管道、套接字、控制台、逻辑磁盘、物理磁盘等。绝大多数与设备打交道的函数都是CreateFile

2012-02-09 19:15:12 494

转载 Chrome源码剖析【二】:【二】Chrome的进程间通信

【二】Chrome的进程间通信1. Chrome进程通信的基本模式进程间通信,叫做IPC(Inter-Process Communication),在Chrome不多的文档中,有一篇就是介绍这个的,在这里。Chrome最主要有三类进程,一类是Browser主进程,我们一直尊称它老人家为老大;还有一类是各个Render进程,前面也提过了;另外还有一类一直没说过,是Plugin进程,每

2012-02-09 17:38:48 1094

转载 有名管道&无名管道

1、管道(pipe)管道是进程间通信的主要手段之一。一个管道实际上就是个只存在于内存中的文件,对这个文件的操作要通过两个已经打开文件进行,它们分别代表管道的两端。管道是一种特殊的文件,它不属于某一种文件系统,而是一种独立的文件系统,有其自己的数据结构。根据管道的适用范围将其分为:无名管道和命名管道。●    无名管道 主要用于父进程与子进程之间,或者两个兄弟

2012-02-08 18:50:43 6094 1

鼠标手势demo

鼠标手势的demo,支持各种手势,采用vs2005编译测试通过

2012-12-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除