自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (3)
  • 收藏
  • 关注

原创 Office2000下内部COM插件的编程实现

<br /> <br />Office2000下内部COM插件的编程实现<br />译者:徐景周<br />下载示例源代码<br /><br />简介<br />你也许曾在Office2000下的Word2000、Access2000、Excel2000、PowerPoint2000等软件中的工具条或菜单条资源中,看到一些其它软件加入的新的自定义工具条按钮或菜单条,当点击它们时,会有其不同的响应发生。下面,让我们也来实现这些功能,需要说明的是,在这里我们不用VB/VBA来实现它,而是用VC6中所带ATL(活

2010-07-30 15:27:00 859

原创 HOOK专题

目录基本概念 运行机制 钩子类型 作者基本概念钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续

2010-07-28 22:39:00 449

原创 Windows API一日一练(38)SetWindowPos函数

<br />有一天,用户突然对我说,你这个窗口能不能放到最顶端,这样操作和打开文件就很不方便了。这个功能就需要改变窗口的属性了。比如大家使用QQ时,就有一个功能,设置QQ的窗口在最顶端,不管你选择了什么窗口,QQ的界面永远都在最前面。又像FlashGet的状态查看窗口,一直保持在窗口的最前端,让你看到当前下载的流量情况。现在股票那么火爆,很多人一边工作,一边查看股票,如果错失了机会,又少了很多钱的啊!面对这样的需求,就需要把一些窗口永远摆在最前面,这样起到提示用户的作用。因此,学会使用SetWindowPo

2010-07-28 15:58:00 515

原创 VC++的Unicode编程

 [ 原创文档 本文适合初级读者 已阅读27890次 ]文档代码工具<br /><br />VC++的Unicode编程<br /><br />作者:韩耀旭<br />下载源代码<br />一、什么是Unicode<br />  先从ASCII说起,ASCII是用来表示英文字符的一种编码规范。每个ASCII字符占用1个字节,因此,ASCII编码可以表示的最大字符数是255(00H—FFH)。其实,英文字符并没有那么多,一般只用前128个(00H—7FH,最高位为0),其中包括了控制字符、数字、大小写字母和其

2010-07-28 13:53:00 421

原创 如何实现工具栏的下拉箭头按钮

 [ 原创文档 本文适合初级读者 已阅读27190次 ]文档代码工具<br /><br />如何实现工具栏的下拉箭头按钮<br /><br /><br />作者/NorthTibet<br />下载源代码<br /><br />论坛中有人曾经问过这样的问题:如何在C++/MFC程序中实现类似IE工具栏中带下拉箭头的按钮,如图一所示:<br /><br /><br />图一 IE工具栏中带下拉箭头的按钮<br /><br />本文将告诉你如何实现,方法其实很简单:<br />1、新建一个MFC/SDI工程,一

2010-07-26 22:17:00 801

原创 利用Visual C++设计真彩色工具条

<br />  最终效果图   一直在寻找制作一个 24bit 及以上真彩工具条的简单有效方法,在各种VC站点都找到了很多有关这方面的文章和介绍,但是都存在一个不足的地方,介绍的不够详细,对初学者来说有点难度。最近终于有所发现,因此在这里将自己在制作真彩工具条方面的小经验介绍给大家,以期抛砖引玉。   在这里将介绍两个重点的内容,一个是制作真彩工具条的图形工具Visual toolbar,另一个是在程序中显示工具条的类CtrueColorToolBar。有了这两个利器,几乎能够非常简单快速的制作任何真彩工具

2010-07-26 22:11:00 675

原创 Spy++原理初探

 [ 原创文档 本文适合中级读者 已阅读18265次 ]文档代码工具<br /><br />Spy++原理初探<br /><br /><br />作者:南京 宋陈三<br /><br />下载源代码<br />摘要:用Visual Studio搞开发的朋友对Spy++这个工具一定不陌生,它可以分析窗体结构、进程和窗口消息,对开发工作有很大辅助作用。我们需要研究某个对象时,只要调出其查找窗口,拖动探测器的指针到指定窗口/控件上释放即可。下面,笔者就和大家一起,用VC打造一个属于自己的Spy++。 <br />

2010-07-26 17:46:00 737

原创 用Visual C++设计窗体探测器

<br />HWND BrotherWindowFromPoint(HWND hWndPoint,const POINT Point) <br />{ <br /> //检测兄弟窗口 <br /> RECT rcPoint; <br /> RECT rcNow; <br /> HWND hWndBrother=hWndPoint;//GetWindow(hWndPoint,GW_HWNDFIRST); <br /> hWndPoint=NULL; <br /> do <br /> { <br />  if(

2010-07-26 17:40:00 781

原创 工具栏设计

工具栏设计<br />计算机编程2010-02-01 11:25:06阅读156评论0字号:大中小<br />http://book.csdn.net/bookfiles/521/10052117702.shtml<br />6.2  工具栏设计<br />工具栏中包含了一组用于执行命令的按钮,每个按钮都用一个图标来表示。当单击某个按钮时,会产生一个相应的消息,对这个消息的处理就是按钮的功能实现。将菜单中常用的功能放置在工具栏中,这样可以方便用户操作,省去了在级联菜单中一层层查找菜单项的麻烦。<br />6

2010-07-26 14:48:00 3742 1

原创 MFC应用程序中指针的使用

[ 原创文档 本文适合初级读者 已阅读37687次 ] 文档 代码 工具 MFC应用程序中指针的使用作者:gouguijia1) 在View中获得Doc指针2) 在App中获得MainFrame指针3) 在View中获得MainFrame指针4) 获得View(已建立)指针5) 获得当前文档指针6) 获得状态栏与工具栏指针7) 获得状态栏与工具栏变量8) 在Mainframe获得菜单指针9) 在任何类中获得应用程序类10) 从文档类取得视

2010-07-24 10:09:00 518

原创 修改对话框边框颜色

<br />有的时候,你可能为了某种需要修改对话框边框的颜色,你可能觉得这很简单, 响应WM_NCPAINT消息就可以了, 其实我一开始也这么想, 并且也这么做, 后来却发现,根本没用,或许是知识有限,学习不到位吧,不过还好,历经千辛万苦终于找到了解决的方法,下面的例子就是将对话框的边框修改为红色:<br /><br />对于对话框,只需要重载默认的消息处理函数就行了:<br /><br />// 重载默认的消息处理函数,主要处理WM_MOVE WM_PAINT WM_NCPAINT WM_NCACTIVA

2010-07-22 11:27:00 895

原创 SetWindowRgn函数

<br />SetWindowRgn函数可以设定窗口的多种边界剪切域,而不是像SetWindowRect只能设置矩形的外包边界。<br />因此利用SetWindowRgn能够实现任意不规则的窗口边界。实现非常个性化的窗口,但是如果通过SetWindowRgn将窗口的中部的区域剪切掉,使得绘制窗口时不绘制,从而形成一个完全透明的”洞“,从这个洞可以看到当前窗口下面的窗口。<br />鼠标单击被剪切掉的区域时,鼠标消息会传到当前窗口的下面的窗口,而不是被剪切的窗口。如何处理让窗口也能在被剪切区域收到鼠标消息?

2010-07-22 09:02:00 8351 2

原创 VC屏蔽Enter和ESC退出程序的技巧

<br />重载PreTranslateMessage函数屏蔽回车和ESC的消息:<br />BOOL C***Dlg::PreTranslateMessage(MSG* pMsg) <br />{ <br />if(WM_KEYDOWN == pMsg->message ) <br />{ <br />UINT nKey = (int) pMsg->wParam; <br />if( VK_RETURN == nKey || VK_ESCAPE == nKey ) <br />return TRUE ;

2010-07-20 13:41:00 980

原创 VC 6操作技巧

<br />1.检测程序中的括号是否匹配 <br /> 把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号<>)前面,键入快捷键“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。 <br /><br />2.查看一个宏(或变量、函数)的宏定义 <br /> 把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的Go To Defition Of …),如果没有建立Br

2010-07-20 10:59:00 479

原创 RegQueryValueEx函数返回234错误解决方法

<br />我们在调用RegQueryValueEx这个函数,在注册表中读取字符串形式的数据时候,经常会出现返回234错误。<br />MSDN说是 If the buffer specified by lpData parameter is not large enough to hold the data, the function returns the value ERROR_MORE_DATA,<br />Window NT: If hKey specifies HKEY_PERFORMANCE_

2010-07-19 18:02:00 812

原创 开源软件大集合

<br /><br />http://a-note.sourceforge.net/A Note 4.2.1 : 可在Windows桌面放置便笺,并可提供闹钟提醒功能 <br />http://www.xs4all.nl/~edienskeAbakt 0.9 : 能够以压缩方式对文档进行备份 <br />http://www.abisource.com/Abiword 2.27 : Windows写字板的替代程序,功能有所加强 <br />http://www.thekompany.com/homeAeth

2010-07-19 10:37:00 2790

原创 Dll的各进程之间共享-#pragma data_seg预处理指令用于设置共享数据段

Dll的各进程之间共享-#pragma data_seg预处理指令用于设置共享数据段 在Win16环境中,DLL的全局数据对每个载入它的进程来说都是相同的;而在Win32环境中,情况却发生了变化,DLL函数中的代码所创建的任何对象(包括变量)都归调用它的线程或进程所有。当进程在载入DLL时操作系统自动把DLL地址映射到该进程的私有空间,也就是进程的虚拟地址空间,而且也复制该DLL的全局数据的一份拷贝到该进程空间。也就是说每个进程所拥有的相同的DLL的全局数据,它们的名称相同,但其值却并不一定是相同的,而且是

2010-07-16 14:14:00 761

原创 实现程序互斥运行的几种方法

 [ 原创文档 本文适合初级读者 已阅读21535次 ]文档代码工具<br /><br />实现程序互斥运行的几种方法<br />作者:ljpxyxc<br />下载本文配套源代码<br /><br />在WIN32下,实现程序互斥运行的方法有很多种,我简单分析以下几种不同的实现:<br />一、在VC下的实现<br />Visual C++ 是WIN32编程最主要也是最强大的编程工具这一,引用一名话来说VC就是“只有你想不到的,没有VC做不到的”。废话少说,下面看看用VC是如何这个功能。<br />A.

2010-07-16 14:02:00 853

原创 vc6能用的SDK和库列表

<br />转自   的文章,也加了部分自己曾经使用过的SDK<br />Windows   server   2003   r2   SDK(最新的Windows   SDK是Vista版的) <br />提供最新操作系统的API接口,支持Windows2003r2以及以前的系统,如果想使用一些平台特性,这开发包是必备的。 <br />http://www.microsoft.com/downloads/info.aspx?na=22&p=22&SrcDisplayLang=en&SrcCategoryI

2010-07-15 13:58:00 577

原创 基于DirectShow的流媒体解码和回放

<br />一、 前言<br /><br />  流媒体的定义很广泛,大多数时候指的是把连续的影像和声音信息经过压缩处理后放上网站服务器,让用户一边下载一边观看、收听,而不需要等整个压缩文件下载到自己机器就可以观看的视频/音频传输、压缩技术。流媒体也指代由这种技术支持的某种特定文件格式:压缩流式文件,它通过网络传输,并通过个人电脑软件进行解码。<br /><br />MCI是微软为Windows最初提出的多媒体编程接口,随着多媒体技术的迅速发展,各种压缩算法在该领域的的应用,MCI技术越来越显的力不从心,最

2010-07-15 09:42:00 529

原创 Windows上好用的十大开源软件 你用过了吗?(

现在开源软件飞速发展,Windows上也有很多优秀的开源软件,足以满足办公娱乐等日常需要。国外也有专门的网站,介绍一些知名的软件(如Office、Photoshop等)的开源替代品。本文介绍的Windows上的十大优秀开源软件,你用过了吗?<br /> <br />大多数人都将开放源代码与Linux联系在一起,但开放源代码社区也为Windows平台开发了大量优秀软件,例如办公软件OpenOffice和浏览器火狐。下边将为读者介绍10款优秀的Windows平台开放源代码软件:<br />1、VLC<b

2010-07-14 12:03:00 3505

原创 6个视频类的相关开源软件

6个视频类的相关开源软件<br />                                                <br />                                        <br />之前帕兰映像已经为你带来了1<br />[url=http://parandroid.com/open-source-tips-1-web-based/]0大免费开源的网络基础应用软件[/url]<br />和<br />[url=http://parandroid.com/

2010-07-14 11:25:00 1443

原创 运用Detours库hook API

一、Detours库的来历及下载:<br />        Detours库类似于WTL的来历,是由Galen Hunt and Doug Brubacher自己开发出来,于99年7月发表在一篇名为《Detours: Binary Interception of Win32 Functions.》的论文中。基本原理是改写函数的头5个字节(因为一般函数开头都是保存堆栈环境的三条指令共5个字节:8B FF 55 8B EC)为一条跳转指令,直接跳转到自己的函数开头,从而实现API拦截的。后来得到MS的支持并在

2010-07-12 22:10:00 648

原创 微软研究院Detour开发包之API拦截技术

<br />我们截获函数执行最直接的目的就是为函数增添功能,修改返回值,或者为调试以及性能测试加入附加的代码,或者截获函数的输入输出作研究,破解使用。通过访 问源代码,我们可以轻而易举的使用重建(Rebuilding)操作系统或者应用程序的方法在它们中间插入新的功能或者做功能扩展。然而,在今天这个商业 化的开发世界里,以及在只有二进制代码发布的系统中,研究人员几乎没有机会可以得到源代码。本文主要讨论Detour在Windows二进制PE文件基础 上的API截获技术。对于Linux平台,作这件事情将会非常的简

2010-07-12 22:09:00 513

原创 API HOOK

<br />原来是我的替代函数原型有问题,贴出来给大家共享一下,免得再象我一样犯这种错误!: <br />这是我老出异常的替代函数=====》 <br />HANDLE   MyCreateFileW(unsigned   short*   lpFileName,DWORD   dwDesiredAccess,DWORD   dwShareMode,LPSECURITY_ATTRIBUTES   lpSecurityAttributes,DWORD   dwCreationDisposition,DWORD

2010-07-12 21:50:00 502

原创 openprocess 提升权限结束进程(来自网络)

<br />1、进程相当于系统提供的一个平台,它可以包括一个或多个线程,如IE是个进程, <br /><br />  打开多个网页是它的多个线程,把IE进程Kill掉即可关闭多个打开网页的线程。 <br /><br />  2、98和NT不一样。98下可以用CreateToolhelp32Snapshot函数Process32First和 <br /><br />  Process32Next来枚举当前所有进程的进程ID(先调用函数CreateToolhelp32Snapshot) <br /><br />

2010-07-10 09:38:00 6715

原创 什么是“跨进程 API Hook”?

<br />什么是“跨进程 API Hook”?<br />众所周知Windows应用程序的各种系统功能是通过调用API函数来实现。API Hook就是给系统的API附加上一段小程序,它能监视甚至控制应用程序对API函数的调用。所谓跨进程也就是让自己的程序来控制别人程序的API调用了。<br /><br />API Hook 理论<br />通过对Win32 PE文件的分析(如果你还不熟悉PE文件格式,可以看看Iczelion的PE教程或者LUEVELSMEYER的<<The PE File Format>

2010-07-09 21:47:00 1028

原创 Note

<br />#include <iostream><br />#include <windows.h><br />using namespace::std;<br />int Inject(HWND hwnd, char *name);<br />int main()<br />{<br />   char dll[]="c:/tt.dll";//change the name to your dll<br />   HWND hw=0;<br /> <br />      hw = FindWindow(

2010-07-09 21:33:00 397

原创 DLL注入实例(附详解)

DLL注入实例(附详解)2008年11月30日 星期日 22:42DLL的远程注入技术是目前Win32病毒广泛使用的一种技术。使用这种技术的病毒体通常位于一个DLL中,在系统启动的时候,一个EXE程序会将这个DLL加载至某些系统进程(如Explorer.exe)中运行。 <br /><br />  这样一来,普通的进程管理器就很难发现这种病毒了,而且即使发现了也很难清除,因为只要病毒寄生的进程不终止运行,那么这个DLL就不会在内存中卸载,用户也就无法在资源管理器中删除这个DLL文件,真可谓一箭双雕哉。 <b

2010-07-09 21:02:00 1506 1

原创 DLL远程注入实例

<br />一般情况下,每个进程都有自己的私有空间,理论上,别的进程是不允许对这个私人空间进行操作的,但是,我们可以利用一些方法进入这个空间并进行操作,将自己的代码写入正在运行的进程中,于是就有了远程注入了。 <br />对dll后门的编写就不作过多的讨论了,现在来看实现注入功能的可执行文件的编写: <br />用到的函数有: OpenProcessToken();<br />LookupPrivilegeValue();<br />AdjustTokenPrivileges();<br />OpenPro

2010-07-09 17:51:00 599

原创 VC窗口启动隐藏时闪烁问题解决方法

<br />VC窗口启动隐藏时闪烁问题解决方法(原创)<br />       最近由于项目需要,做了一个VC托盘程序,让该程序在后台执行,当程序启动时我需要将窗口隐藏,但总是在隐藏前会闪烁一下再隐藏,于是我跟踪代码到MFC类库里终于发现问题给解决了。<br />       下面都是针对创建的单文档程序而讲的,因为我创建的是单文档工程,其它的类型工程我没试过,多文档工程应该也可以用下面的方法,好了,开始讲解了。<br /> <br />       如果你使用VC6做的单文档程序,那么只需在BOOL CX

2010-07-08 11:55:00 768

原创 任意分布的随机数的产生方法—VC程序实现方法

 [ 原创文档 本文适合中级读者 已阅读41453次 ]文档代码工具<br /><br />任意分布的随机数的产生方法—VC程序实现方法<br /><br /><br />作者:戎亚新<br /><br /><br />下载源代码<br /><br />摘要:<br />    随机数在实际运用中非常之多,如游戏设计,信号处理,通常我们很容易得到平均分布的随机数。但如何根据平均分布的随机数进而产生其它分布的随机数呢?本文提出了一种基于几何直观面积的方法,以正态分布随机数的产生为例讨论了任意分布的随机数的产生

2010-07-06 15:04:00 519

原创 字符串hash算法比较

<br />字符串的算法一般大公司都会考到,我们首先要想到高效的hash。如百度查找一组字符串是否出现在某个文本中,这个不是考什么kmp,他们想听到的是hash。趋势科技考的是从某个文本中删除一组字符串,我想也是要hash吧。<br />1 概述链表查找的时间效率为O(N),二分法为log2N,B+ Tree为log2N,但Hash链表查找的时间效率为O(1)。<br />设计高效算法往往需要使用Hash链表,常数级的查找速度是任何别的算法无法比拟的,Hash链表的构造和冲突的不同实现方法对效率当然有一定的

2010-07-02 15:47:00 417

原创 VC中实现哈希Hash算法

<br />Hash函数我们可以自己用C来编写,但是如果在VC中就不必了,因为在VC中有实现hash算法的函数可以调用,就是CryptAcquireContext函数,这个函数的定义在wincrypt.h头文件中。下面是我在MFC中实现的,因为想要结果输出到messagebox中,所以就在视类里定义和实现了GetHash函数来计算哈希值。<br />      首先是在View类的头文件中包含下列文件和内容:<br />#define _WIN32_WINNT 0x0400<br />#include <t

2010-07-02 15:41:00 1899

原创 CHttpFile实现Get/Post - 下载网页 提交表单

一、GET 数据,下载网页,文件等,用于可下载的文件,不能用于服务端运行的程序,比如.aspx文件等,否则会返回500错误。<br /><br />CString strSentence, strWriteName="1.htm";<br />    CString strFileName="http://localhost/InDesign/" + strWriteName;<br /><br />    CInternetSession sess;<br />    CHttpFile* fileGet

2010-07-01 21:19:00 1931 1

原创 Post和Get的区别(兼谈页面间传值的方式)

<br /> <br />从一个页面转向另一个页面的请求方式有两种,Post和Get. <br /><br />如果从原理上来探究他们的区别,涉及到Http传输协议的细节,本文不加探究,只讨论一下表象。 <br /><br />所有的人都知道如下区别: <br />1.Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示。 <br />2.Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节. <br />3.Post顾名思义,就是为

2010-07-01 21:18:00 503

原创 关于 CInternetSession

关于 CInternetSession2009-09-01 10:06<br />CObject└CInternetSession<br />使用类CInternetSession 创建并初始化一个或多个同时的Internet 会话。如果需要,还可描述与代理服务器的连接。如果Internet连接必须在应用过程中保持着,可创建一个类CWinApp的CInternetSession成员。一旦已建立起Internet 会话,就可调用OpenURL。CInternetSession会通过调用全局函数AfxParse

2010-07-01 16:17:00 1547

Visual SourceSafe 使用手册

VSS操作手册,详细介绍VSS的配置,部署,VSS在软件开发中的应用实例.

2010-04-24

站内中文搜索引擎源程序

本搜索引擎是用C#及asp.net开发中文站内搜索引擎。

2008-12-19

Windows API教学课件

Windows API教学课件对Windos API函数作了深入的剖析,其中有大量的实例,对初学API的不失为一个好的学习资料.

2008-10-23

空空如也

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

TA关注的人

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