- 博客(36)
- 资源 (1)
- 收藏
- 关注
原创 DECLARE_DYNCREATE(DECLARE_DYNAMIC)与IMPLEMENT_DYNCREATE(IMPLEMENT_DYNAMIC)解析
随便搜索一下,发现给出的解释是在运行期让派生类支持动态创建,可是给出详细解释的却很少,那么下面仔细看看此宏的扩展:#define DECLARE_DYNCREATE(class_name) \ DECLARE_DYNAMIC(class_name) \ static CObject* PASCAL CreateObject();#define _DECLAR
2012-12-03 11:39:29
5560
转载 一位台湾码农的心路历程
本文最初来自PTT论坛,原标题:軟體人的心路歷程分享前言:台湾的IT环境是什么样的,我们很少关注过。本文作者superbcde是一位台湾程序员,他没有显赫的教育背景,从IT培训学校开始,一步一步走向自己的奋斗目标。他告诫年轻人:要趁着年轻多学习,下定决心,自己不懂什么学什么,最好到硅谷去,因为那里才是 IT 人士的天堂,并透露了台湾的创业环境比较差。转载这篇文章并不是想表达什么,只是看
2012-11-21 21:30:48
1779
翻译 .NET源码调试最常遇到问题解答
原文出处:http://referencesource.microsoft.com/faq.aspx在调试参考源时如何禁用优化 当你使用VS 2008中最新可用的参考源功能在.NET框架下调试代码时,您可能会注意到很多变量并不能够查阅。 这是因为你在对优化代码进行调试。在许多情况下,你仍然可以强制跳过,因为这些东西是可供管理的。 但如
2012-06-21 11:11:28
1269
原创 ActiveX控件属性:自定义属性的使用
在很多场合下会存在这样的需求,那就是使用方在实际使用控件之前就想控件已经做了相应的处理比如加载的控件版本不正确等,或者需要在加载时才确定能够使用的功能集;这个时候传统的配置文件已经无法满足这种类型的需求了,往往的做法是在初始化控件的时候即做了相应的初始化,然后对自身的功能做了限制或者给使用方反馈,所以常常看到的是html标签中出现这样的写法:<OBJECT id="UsbossViewer"
2012-06-11 15:25:19
11158
3
原创 windows下使用开源gSOAP技术调用WebService
大名鼎鼎的gSOAP Toolkit 这里就不多做介绍了,此次的WebService访问即是借助此工具开发的,获取最新版本可以上sourceforge获取,此处是下载地址http://sourceforge.net/projects/gsoap2/,这里使用的是2.8版本。 首先通过WSDL文档生成C++头文件 WSDL (Web Services Description
2012-06-07 16:45:56
5301
原创 已安全化的ActiveX控件卸载时出现"DllUnregisterServer函数出错,错误代码:0x80070002"问题解决
关于ActiveX控件实现安全的初始化和脚本请查看这篇博文 当已经使用命令行卸载已经实现安全的初始化和脚本的ActiveX控件时会看到出现“DllUnregisterServer函数出错,错误代码:0x80070002”的提示。 按照开头的那篇博文,在DllUnregisterServer函数中实现如下:STDAPI DllUnregisterServe
2012-04-20 14:31:19
8922
1
原创 ActiveX控件实现安全的初始化和脚本
要想创建一个能够在IE中成功加载而没有“不安全”的警告或者错误提示信息的ActiveX控件,我们必须实现安全的初始化和脚本。基本上,所有要做的工作都是在DllRegisterServer 和DllUnregisterServer这两个函数中完成的。下面,我们就来一步步地将我们的ActiveX控件变成一个“安全的”控件。 1. 编辑XXX(此处为控件的工程名).cpp并添加如下的代码
2012-03-30 15:48:14
9327
10
原创 OCX控件CAB打包手册及升级方法
OCX:OCX称为对象类别扩充组件(Object Linking and Embedding (OLE) Control eXtension);CAB:压缩包文件。存储多个压缩文件的单个压缩包文件。这些文件通常用于软件安装,还用来减小文件大小和缩短 Web 内容的相关下载时间。 打包步骤 制作CAB文件时需要将所有的相关文件都包含进去,一般需要将OCX做CAB打包即为o
2012-03-28 14:21:41
20974
1
原创 OCX控件MSI打包升级方案
OCX:OCX称为对象类别扩充组件(Object Linking and Embedding (OLE) Control eXtension);MSI:MSI文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据。MSI文件将程序的组成文件与功能关联起来。此外,它还包含有关安装过程本身的信息:如安
2012-03-28 10:07:21
5584
转载 委托、事件与Observer设计模式
在经历了委托和事件的详解之后,两篇博文的位置为http://blog.csdn.net/waxgourd0/article/details/7387428和http://blog.csdn.net/waxgourd0/article/details/7387267 再来看委托、事件与Observer设计模式; 之前讲解委托和事件的例子已不足以再进行下面的讲解了
2012-03-23 17:04:46
893
转载 事件详解
接着委托详解这篇转载博文:http://blog.csdn.net/waxgourd0/article/details/7387267 在实际应用中,通常都是 GreetPeople 在一个类中,ChineseGreeting和 EnglishGreeting 在另外的类中。现在你已经对委托有了初步了解,是时候对上面的例子做个改进了。假设我们将GreetingPeople()
2012-03-23 15:37:17
1084
转载 委托详解
将方法作为方法的参数 我们先不管这个标题如何的绕口,也不管委托究竟是个什么东西,来看下面这两个最简单的方法,它们不过是在屏幕上输出一句问候的话语:public void GreetPeople(string name) { // 做某些额外的事情,比如初始化之类,此处略 EnglishGreeting(name);}public void EnglishGr
2012-03-23 15:07:36
1674
2
转载 C#事件与委托定义与使用
Delegate delegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类。与其它的类不同,delegate类能够拥有一个签名(signature),并且它"只能持有与它的签名相匹配的方法的引用"。它所实现的功能与C/C++中的函数指针十分相似。 它允许你传递一个类A的方法m给另一个类B的对象,使得类B的对象能够调用这个方法m。但与函数指针相比
2012-03-23 11:25:06
4127
转载 调试术语
调试模式调试器可以采用三种模式来调试被调试程序(在下文中,如果没有特别说明的话,简称程序):(1) 一种是直接调试模式,即直接从调试器里面启动程序,就如同我们在Visual Studio里面按下F5就可以调试程序那样。(2)另外一种是附加(attach)模式,即你可以在程序已经启动的情况下,把你的调试器附加到程序上,进行调试。这种模式通常在调试服务(Service)程序非常有用,例如你
2012-03-21 09:44:26
903
原创 在VS2010中开发ActiveX控件设置测试容器的方式
在VS2010中开发MFC ActiveX控件,开发完后,通常使用VS自带的容器ActiveX Control Test Container来运行ActiveX控件。此容器在VS安装后的文件中是找不到的,需要自己手动获取。如下所述:(1)按照你的VS所安装的路径,找到VC2010Samples.zip这个压缩文件,其在Samples下的名为2052文件夹中,如在我的电脑上,其所在路径为:C:\
2012-03-20 17:15:57
10270
7
原创 通过WebBrowser 控件承载的网页与包含控件的应用程序之间的通信
若要使用该属性启用WebBrowser 控件承载的网页与包含WebBrowser 控件的应用程序之间的通信,一般使用WebBrowser.ObjectForScripting 属性,一般来说只需要使用该属性可以将动态 HTML (DHTML) 代码与客户端应用程序代码集成在一起。为该属性指定的对象可作为window.external 对象(用于主机访问的内置 DOM 对象)用于网页脚本。
2012-03-13 11:44:25
2429
原创 VirtualBox转移已安装使用的操作系统
有时因为硬盘资源不足或者干脆在使用VirtualBox时忘记修改默认路径必须将已经装好并开始使用的虚拟操作系统移到别的盘符,那么实际上并不需要多么复杂的操作,更不需要重新安装操作系统。 其次你也没有必要再做修改UUID等操作,你只需要原先安装好操作系统的路径下将.vdi文件拷贝到你现在想安装的路径下,同时新建虚拟电脑: Sun VirtualBox->点击“新建”
2012-02-22 11:38:39
2992
原创 VC++编写ActiveX控件
前言:ocx是ocx控件的扩展名,OCX 是对象类别扩充组件。如果你用过Visual Basic或者Delphi一类的可视化编程工具,那么对控件这个概念一定不会陌生,就是那些工具条上的小按钮,如EditBox,Grid,ImageBox,Timer等等。每个控件都有自己的事件、方法和属性。使用了控件的编程非常容易。首先,在程序的设计阶段可以设置一些属性,如大小,位置,标题(caption)等等;在
2011-07-28 18:14:23
9364
9
原创 C#WinForm自定义控件自动停靠
简单原理:主要是用Timer控件,在实时判断当前鼠标焦点位置,如果在自定义控件上时,自定义控件显现;鼠标焦点离开自定义控件范围后,自定义控件隐藏。这样的考虑是用户体验会更好,比通过保留一定的像素长度判断鼠标位置展现好,同时实现简单。 首先定义一个Timer控件 this.StopRectTimer.Enabled = true;
2011-07-25 15:29:06
4545
原创 C# POST访问需要HTTP Digest Authentication认证资源的实现
关于HTTP协议请看这篇博文 在你访问一个需要HTTP Digest Authentication的URL的时候,如果你没有提供用户名和密码,服务器就会返回401,如果你直接在浏览器中打开,浏览器会提示你输入用户名和密码;要在发送请求的时候添加HTTP Digest Authentication认证信息到请求中,有两种方法:一是在请求头中添加Authoriza
2011-07-22 11:10:32
9248
转载 基于C#的http协议开发
HTTP协议简介 HTTP协议简介在TCP/IP体系结构中,HTTP属于应用层协议,位于TCP/IP协议的顶层。浏览Web时,浏览器通过HTTP协议与Web服务器交换信息。这些信息(文档)类型的格式由MIME定义。HTTP协议具有以下的特点:HTTP按客户/服务器模式工作HTTP支持客户(一般情况是浏览器)与服务器的通讯,相互传输数据。HTTP定义的事务
2011-07-21 17:36:06
31675
2
原创 VS2010下调试.NET源码
在有了一段经历之后,我开始不满足与仅仅是写一些应用代码,非常想知道.net framework的源码是如何写的?我们在追踪bug的时候也往往需要追踪到.net framework的源码中去,微软将.NET的源码部分开源后我们终于有了这个机会,我的编译环境是VS 2010RC,记录一下如何单步调试到.NET的源码中,怕自己忘记,同时也分享给大家。 1、工具- 选型 – 调试 - 常规
2011-07-12 16:30:44
6525
原创 蓝牙(bluetooth)攻击与防护(四)
观察上一节内容中简单的攻击手段其中的截图和代码,问题发生在(2)建立L2CAP层的链接处,考虑蓝牙链路的建立可以视作是标准的“三次握手”,我们发现它是发送大量伪造的连接请求,使被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源。即使是简单的保存并遍历也会消耗非常多的CPU时间和内存。 有鉴于此,我思考了一下:1.每一蓝
2011-07-10 22:35:58
4372
原创 蓝牙(bluetooth)攻击与防护(三)
上一节讲述了蓝牙链路建立的详细过程,给后续内容有一个详细的认识。 攻击的前提是获得蓝牙的设备地址。通过Backtrack 3的btscanner工具可以查到处于隐藏状态下(也就是取消SSID)的开启的蓝牙设备。如图: 利用搜索到的蓝牙地址和设备名,用bss对其中一部手机进行攻击,具体方法为在很短间隔内发送大量连接请求,使被攻击方忙于应答,造成他与原先已经建立连接的
2011-07-10 22:22:12
8864
1
原创 蓝牙(bluetooth)攻击与防护(二)
上一节内容提到的是蓝牙协议栈的一些内容 现阶段的嗅探和攻击尝试主要基于Backtrack 3的一些现有集成工具,BackTrack是基于Slackware和SLAX的自启动运行光盘,它包含了一套安全及计算机取证工具。它其实是依靠融合Auditor Security Linux和WHAX(先前的Whoppix)而创建成的。BackTrack 4版本之后使用了ubuntu 8.10 的
2011-07-10 17:28:07
4959
原创 蓝牙(bluetooth)攻击与防护(一)
蓝牙技术基于芯片,提供短距离范围的无线跳频通信。它有很低的电源要求,并且可以被嵌入到任何数字设备之中。具有蓝牙芯片的数字设备,比如便携计算机、手机、PDA,可以通过蓝牙移动网络进行通信。但是,蓝牙采用的无线跳频技术使人们误认为蓝牙的安全机制已经解决。可是实际上,无线跳频技术对于窃听者和截取者不是一个技术障碍。目前的蓝牙鉴权只是对蓝牙单元进行鉴权,而没有对用户实施鉴权. 若要对用户进行鉴权必须实现应
2011-07-10 15:20:22
3725
原创 进程通信概述
进程间通信方式的展示,包含了windows、Unix、Java三个部分: windows大部分移植于Unix,因此理清哪些是各自特有的,哪些是一致的,同时理清哪些原理是一致的只不过实现方式有所不同,如此对进程间通信就有了一个全面的了解。 红色是最常见也是需要理解掌握的,这里留待后续做全面的说明,下面先介绍一下空闲内存和管道: (一)共享
2011-07-07 22:13:16
15512
原创 企业虚拟化的思辨(二)
(一)中提到了关于使用虚拟化的判断依据 那么接下来的内容中介绍一下实施虚拟化的服务器架构和市场上的主要厂商。 首先服务器架构的命题是选择小型机还是x86架构的服务器,一般来说用户在准备实施虚拟化时最关注的是可靠性和稳定性,而虚拟化技术来源于小型机,那么是不是说小型机性能更好,更稳定呢,The Answer is Not,随着x86服务器架构的发展,x86架构硬件虚拟化技
2011-07-05 22:14:57
686
原创 菜鸟拥抱AWK(一)
大家好,我是小菜鸟M,今天是写完的程序在新设备上压力测试的最后一天,程序一直没什么异常,作为一个菜鸟虽然心里不断告诫自己测试报告才是重中之重,但实际上心里还是蛮爽的,这时BOSS走了过来。 “老大,这轮24小时压力快跑完了,这次修改完的版本没什么问题。” “恩,好,测试报告出来下班前发给我吧,svn上有以前测试报告的模板,自己看一下,不懂的问一下组长。” “组长,这个
2011-07-05 13:31:52
1044
2
原创 企业虚拟化的思辨(一)
由于工作的关系突然发现从去年年末开始,最近无论是自己企业还是客户全部都在提虚拟化的概念,仿佛一夜之间不管是服务器端虚拟化还是桌面虚拟化一下就提上了议程,不搞点虚拟化出门都不好意思和别人打招呼。 但实际上大部分用户还是持着观望的态度在等待大潮的来临,对于虚拟化他们觉得热门,我也应该搞一搞,但是没仔细考虑过应用场景,等深入了解了虚拟化后觉得有更多的难题和困惑,如果企业越庞大,那么相应的服
2011-07-02 22:03:48
606
原创 linux下svn命令
下面是关于svn命令的一些整理,希望对大家有所帮助。1、将文件checkout到本地目录svn checkout path(path是服务器上的目录) 例如:svn checkout http://10.130.24.253/svn/USE145/02%E5%BC%80%E5%8F%91%E5%8C%BA/USE3.10/trunk/C++/src 简写:svn
2011-06-30 14:23:00
509
转载 路由事件的演变史
转自http://www.cnblogs.com/helloj2ee/archive/2010/09/30/1839660.html 我看过此博主的多篇文章和著作,这篇文章有助于理解WPF的路由事件,我看的是PDF版,特此贴出来以飨读者。 正如WPF在简单的.NET属性概念上添加了许多基础的东西一样,它也为.NET事件添加了许多基础的东西。路由事件是专门
2011-06-30 12:45:00
795
转载 .net framework各个版本区别和新增功能
给自己查阅用。 .NET Framework又称 .Net框架。是由微软开发,一个致力于敏捷软件开发(Agile software development)、快速应用开发(Rapid application development)、平台无关性和网络透明化的软件开发平台。.NET是微软为下一个十年对服务器和桌面型软件工程迈出的第一步。.NET包含许多有助于互联网和内部网应用迅捷开发的
2011-06-23 14:34:00
1727
原创 抿酒小恬
"古来圣贤皆寂寞,惟有饮者留其名",真乃狂饮之典范.今宵酒醒何处,杨柳岸,晓风残月"却又是一番柔情,不愧为小憩的愉悦."借问酒家何处有,牧童遥指杏花村",润透着怀念的祭惦."金屋妆成娇待夜,玉楼宴罢醉和春"却又是一番纸醉金迷的奢靡.俱有人言:酒,何以消愁,何以消忧,一切俱在其中.我说酒亦醉亦醒,到死方休."明月几时有,把酒问青天"愁得豁达;抽刀断水水更流,举杯消愁愁更愁"愁得淋漓尽致;"浊酒一杯家
2011-06-22 23:26:00
2142
转载 C#中的元数据描述
来自: http://hi.baidu.com/luoyuonline/blog/item/235227cff74f5335b700c807.html 以下信息都摘自MSDN,很好的解答了什么是元数据,元数据都包括哪些信息,这些信息在元数据中是如何组织管理的,以及,为什么说元数据是“自描述类型”的。 元数据概述:元数据是一种二进制信息,用以对存储在公
2011-06-19 14:54:00
13686
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人