
WINDOWS 开发
文章平均质量分 63
happy hell
主要从事网络通讯方面研究,目前领导的项目有jabber IM、企业版IM、视频会议、视频监控、GPS车载、p2p技术、IPTV等等项目。
目前从事android平台整体系统架构,以及自主SDK研发,关注meego
展开
-
一份进程注入的代码
// Injection.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "Injection.h"#ifdef _DEBUG#define new DEBUG_NEW#endif// 唯一的应用程序对象CWinApp theApp;using namespace std;typedef struct _RemotePara{//参数结构转载 2008-10-08 22:33:00 · 686 阅读 · 0 评论 -
枚举进程及其调用动态链接看(进程快照)
BOOL GetProcessList( );BOOL ListProcessModules( DWORD dwPID );BOOL ListProcessThreads( DWORD dwOwnerPID );void printError( TCHAR* msg );void printError( TCHAR* msg ); void main( )原创 2009-03-17 12:57:00 · 777 阅读 · 0 评论 -
MS06-030漏洞分析
MS06-030漏洞分析MS06-030 Windows Mrxsmb.sys Local Privilege Escalation 漏洞分析转载 2009-03-18 14:58:00 · 1462 阅读 · 0 评论 -
详解SourceOffsite的安装配置解决VSS共享数据库目录的问题
安装配置指南 ---------------- 一、下载SourceOffsite V4.2官方下载地址,可以试用30天,试用期间无任何功能限制。 http://search.newhua.com/search.asp?Keyword=sourceoffsite现在国内也有相关的中文版下载,本人使用没有什么区别,可能就是多一个VSS6.0。如果大家连VSS6.0都没有,就建议下载中文版。 二、原创 2009-03-21 16:53:00 · 3599 阅读 · 0 评论 -
获取AD 当前账号的隶属组织
#include #include #include #include #include #pragma comment(lib,"ActiveDS") #pragma comment(lib,"adsiid")#ifndef UNICODE#define UNICODE#endif/********原创 2009-04-15 15:17:00 · 1739 阅读 · 0 评论 -
读取AD组织架构用户,登陆名
最近需要读取AD中的用户列表以及组织架构,使用到一下的方式:BOOL ReadAdTree(LPWSTR strLDAPURL){ BOOL bRet = FALSE; HRESULT hr; IADsContainer *pContainer = NULL; IEnumVARIANT *pEnum = NULL; int pos = -1; VARIA原创 2009-04-16 13:31:00 · 3394 阅读 · 1 评论 -
枚举当前域中的AD所有用户
#include #include #include #include #include #pragma comment(lib,"ActiveDS") #pragma comment(lib,"adsiid")int wmain(int argc, wchar_t *argv[]){ LPUSER_INFO_0 p原创 2009-04-15 15:30:00 · 3098 阅读 · 0 评论 -
AD(Active Directory)用户验证
着重介绍两中方法使用AD 用户验证机制, 方法1:SSPI 验证此方法具有不需要任何特殊的权限,以及所有版本的 Windows 上工作的优点。 最终结果使用 SSPI 服务验证凭据的是类似于调用 LogonUser API 与 LOGON32_LOGON_NETWORK 登录类型登录。 这种类型的登录,最大缺点是您不能访问远程网络模拟网络类型登录后的资源。 如果您的应用程序调用 Log原创 2009-04-09 14:41:00 · 5434 阅读 · 0 评论 -
Richedit插入动态Gif的实现
最近在做IM软件,需要实现向Richedit插入表情,表情是动态的GIF图像。google 查找相关技术,文章如下How to insert a bitmap into an RTF document using the RichEdit control in Visual C++ 6.0http://support.microsoft.com/default.aspx?scid=kb;e原创 2009-07-20 09:50:00 · 3797 阅读 · 1 评论 -
GifOleControl 1.0.2 功能说明
GifOleControl 可插入图片,包括BMP、jpg、png等,图片大小不限,重点是可以在richedit中插入gif动画,暂不支持插入SWF格式。同时可以在插入的图片、gif中直接显示tooltip,方便应用。 GifOleControl 定义的接口如下 interface IGifCtrl : IDispatch{ [propput, bindable, requeste原创 2009-07-21 13:41:00 · 2010 阅读 · 4 评论 -
设置文件属性里的时间,包括:创建时间、访问时间、修改时间
// readFileCreateTime.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#includeint _GetFileTime(char *szFileName);int _SetFileTime(char *szFileName,char *sz转载 2009-03-18 14:57:00 · 7545 阅读 · 0 评论 -
参看windows进程
相见MSDN1. #include #include #include // Forward declarations:BOOL GetProcessList( );BOOL ListProcessModules( DWORD dwPID );BOOL ListProcessThreads( DWORD dwOwnerPID );void printError( TCHAR* msg )原创 2009-03-10 09:18:00 · 658 阅读 · 0 评论 -
MAKELONG用法
The MAKELONG macro creates an unsigned 32-bit value by concatenating two given 16-bit values. DWORD MAKELONG( WORD wLow, // low-order word of原创 2008-10-09 09:02:00 · 4450 阅读 · 0 评论 -
TortoiseSVN使用步骤
一:使用 TortoiseSVN 创建版本库1. 打开资源管理器2. 创建一个新的文件夹,命名为SVNRepository3. 右键点击新创建的目录,选择TortoiseSVN → 在此创建版本库...。然后就会在新文件夹创建一个版本库,不要手工编辑这些文件!!!如果你得到什么警告,一定要先确定目录非空并且没有写保护。二:版本库使用1. 在待加入Torto原创 2008-11-06 17:51:00 · 2000 阅读 · 0 评论 -
windows平台编译jabberd
先要下载相应的代码,地址以下一个个给出。国外已经有人把jabberd2移植到了windows平台,相应的网站如下:http://www.nanoant.com/projects/jabberd2-win32可以下载相应的jabber2服务器软件直接安装,不过在安装该服务器前需要安装一下软件:1. 用 TortoiseSVN的生成新一代版本的文件。生成方法请参考:http://b原创 2008-11-14 17:22:00 · 3180 阅读 · 3 评论 -
在Windows下编译pidgin
建立Mingw + MSYS编译环境网络上方法很多,笔者经过试验,选择了一个比较简单方便的安装方法。一、到下面的网站下载MingW安装文件http://www.tdragon.net/recentgcc/TDM/MinGW Installer不用MingW网站上的安装文件,是因为MingW的安装程序无法手工选择速度较快的sf.net下载网站。安装时,先选择检查更新,然后选择安装原创 2008-11-18 10:32:00 · 1242 阅读 · 0 评论 -
VC6中使用STLPort4.6.2
********************************************如果和PlatformSDK 一起使用的话要记的在STLport目录中 /stlport/stl_user_config.h 文件中把这一句打开 # define _STLP_NEW_PLATFORM_SDK 1否则在编译时会有如下错误second C linkage of overloa原创 2009-02-02 17:33:00 · 1063 阅读 · 0 评论 -
关于Detours的一些介绍(出处不详)
---- Detours是微软开发的一个函数库(源代码可在http://research.microsoft.com/sn/detours 免费获得), 用于修改运行中的程序在内存中的影像,从而即使没有源代码也能改变程序的行为。具体用途是: 拦截WIN32 API调用,将其引导到自己的子程序,从而实现WIN32 API的定制。 为一个已在运行的进程创建一新线程,装入自己的代码并运行。 ---- 本原创 2009-02-25 09:25:00 · 2435 阅读 · 1 评论 -
游戏是如何检测到有OD等调试工具的(转)
知其然,知其所以然,希望大家觉得有用,大家可以用在自己程序中查看自己的程序是否被调试..同时为了更好的了解一些游戏无法用OD调试的原因1.程序窗口句柄检测原理:用FindWindow函数查找具有相同窗口类名和标题的窗口,如果找到就说明有OD在运行//********************************************//通过查找窗口类名来实现检测OllyDBG//******转载 2009-03-10 17:14:00 · 3273 阅读 · 0 评论 -
【分享】必杀技公布——用特征码定位关键代码,秒杀MFC程序
【文章标题】: 必杀技公布——用特征码定位关键代码,秒杀MFC程序【文章作者】: 书呆彭【下载地址】: 自己搜索下载【使用工具】: VC与OllyICE【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!--------------------------------------------------------------------------------【详细过程】转载 2009-03-10 15:20:00 · 4137 阅读 · 0 评论 -
修改目标进程的父进程
来源:http://pjf.blogone.net作者:pjf(jfpan20000@sina.com) 让小师弟测一下1.06的进程规则,他试了试问:“为什么里面有源进程和父进程两项?不就是指创建目标进程的那个进程,它们不是一个意思吗?” 因为很简单,略略回答了一下,因为好多天没在http://pjf.blogone.net上添东西了,敲下来充数,有点不好意思。 windows下的原创 2009-03-10 17:44:00 · 7572 阅读 · 0 评论 -
VC6.0使用RichEdit2.0(GifOleControl 1.0.2 补充说明)
由于AfxInitRichEdit() 装载的是 RichEdit 1.0 Control (RICHED32.DLL),该版本BUG较多,需要在装载3.0的控件。方法如下: 以对话框为例: (1) 增加一全局变量 HMODULE hMod; (2) 在CxxxApp::InitInstance()中添加一句hMod = LoadLibrary(_T("原创 2009-07-24 11:22:00 · 4124 阅读 · 11 评论 -
VC 6.0编译器错误整理
1. 【错误提示】: libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main 【说 明】: Windows项目要使用Windows子系统, 而不是Console 【解决方法】:[Project] --> [Settings] --> 选择"Link"属性页,原创 2009-05-22 14:23:00 · 877 阅读 · 0 评论 -
GifOleControl 1.0.8 更新说明
1.2.0.4 去掉鼠标HOOK, 主要是由于鼠标HOOK对系统的运行有影响,会导致鼠标移动慢。 1.2.0.5 修改VC2005中使用LIST Iterator Not Incrementable? 报错问题。 详见析构函数~CGifCtrl 1.2.0.6 增加 STDMETHODIMP CGifCtrl::Load(IStream *pStm)函数中异常数据的处理原创 2010-02-21 10:20:00 · 1317 阅读 · 3 评论 -
IOCP中10054错误
最近在测试IOCP模型的UDP通讯中发现,如果服务端UDP套接字直接给某个客户端发送数据,而该客户端不存在,会导致 上面的GetQueuedCompletionStatus会被激活,但返回错误,数据大小为0, 而且再投递WSARecvFrom请求,即使没有客户端发送数据,也会立即收到GetQueuedCompletionStatus 返回的错误消息,最终导致再也无法接收客户原创 2010-03-04 09:19:00 · 3910 阅读 · 0 评论 -
jpg中读取GPS信息
需要读取EXIF信息,自己阅读了一些资料,现在共享一下需要注意的是,由于EXIF是一种可交换的文件格式,所以可以用在Intel系列和Motorola系列的CPU上(至于两者CPU的区别,大家可以到网上找找,这里不做说明)。在文件中有一个标志,如果是“MM”表示Motorola的CPU,否则为“II”表示Intel的CPU。 这个代码是使用C写的,读取文件用的API。本来我想写成一个VC使用的转载 2010-04-12 09:30:00 · 6124 阅读 · 3 评论 -
自动更改发布的版本号
这个是一同事发现的。 使用方法介绍如下:下载:BuiltIncreaseVer.该版本修改了:1. 报错的时候不增加版本。2. 统计编译耗时。3. 未设置增加版本的工程不报错。4. 提示信息会在Output窗口显示(会增加一个Macro选项).全局设置:修改环境的Tools–>Customize–>Add-ins And Macro Files–>Brows原创 2010-05-27 11:23:00 · 1651 阅读 · 0 评论 -
单件模型 Singleton
单件模型 Singleton原创 2010-05-31 16:25:00 · 762 阅读 · 0 评论 -
多线程操作数据库CreateInstance 失败
CreateInstance 多线程 失败原创 2010-12-12 16:28:00 · 5132 阅读 · 0 评论 -
CTabCtrl 标签相关设置
CTabCtrl 标签 长度 宽度 字体原创 2010-11-16 13:57:00 · 7719 阅读 · 0 评论 -
WMI 0x80041014 错误
WMI 0x80041014 错误原创 2011-03-30 10:28:00 · 13266 阅读 · 0 评论 -
在win2008 r2中安装windows phone 7开发工具
1、下载wp7开发工具安装文件,下载地址:http://www.microsoft.com/downloads/en/details.aspx?FamilyID=04704acf-a63a-4f97-952c-8b51b34b00ce&displaylang=en 2、将下载到的文件(vm_web2.exe)解压。方法:在命令行模式下,输入vm_web.exe /x,解压到某个目录原创 2012-03-29 13:54:36 · 1089 阅读 · 0 评论 -
MSN windowless RichEdit 控件
MSN windowless RichEdit,实际上使用了COM接口,给篇文章。Introduction to the Windowless RichEditIt is a little-known fact that the RichEdit from version 2.0 onwards comes with a COM interface to drive it. To use this原创 2010-01-23 09:49:00 · 4923 阅读 · 1 评论 -
vs2005里List Iterator Not Incrementable
vs2005里List Iterator Not Incrementable? 当需要erase list里的元素时代码可写为以下形式,可避免list iterator incrementablestd::list T;std::list::iterator rpos;for(rpos=T.begin();rpos!=T.end();){ rpos = T.er原创 2009-11-10 10:28:00 · 2560 阅读 · 0 评论 -
qt 和wxWidgets
wxWidgetshttp://sourceforge.net/project/downloading.php?group_id=9863&filename=wxWidgets-2.8.10.zip QT WHERE TO DOWNLOAD YOUR EVALUATION--------------------------------- Windows - MS Visual C+原创 2009-06-08 14:46:00 · 2017 阅读 · 0 评论 -
也谈向Richedit插入动态Gif的实现
http://www.deadc0de.com/archives/insert-gif-to-richedit.html#more-14 最近在做IM软件,需要实现向Richedit插入表情,表情是动态的GIF图像。由于以前没有做过关于richedit的开发,百度了下,需要使用OLE技术。也就是说,插入的图片都是一个OLE对象。而RICHEDIT则是一个OLE容器,相关链接如下。转载 2009-06-12 11:18:00 · 6374 阅读 · 6 评论 -
数据类型转换,宽字节和单字节互转
以前一直使用ATL的转化宏,怕不搞代码忘记了,特留个标签。 http://www.vckbase.com/document/viewdoc/?id=1488 一、前言 上回书介绍了GUID、CLSID、IID和接口的概念。本回的重点是介绍 COM 中的数据类型。咋还不介绍组件程序的设计步骤呀?咳......别着急,别着急!孔子曰:“饭要一口一口地吃”;老子语:“心急吃不了热转载 2009-09-22 11:08:00 · 6112 阅读 · 1 评论 -
LINK 错误
今天 ,编译的时候,用静态库去编译,出现下面错误:LIBC.lib(crt0dat.obj) : error LNK2005: __cinit already defined in libcmt.lib(crt0dat.obj)LIBC.lib(crt0dat.obj) : error LNK2005: _exit already defined in libcmt.lib(crt0dat.obj原创 2009-10-13 14:56:00 · 1658 阅读 · 0 评论 -
程序自动生成Dump文件
前言:通过drwtsn32、NTSD、CDB等调试工具生成Dump文件, drwtsn32存在的缺点虽然NTSD、CDB可以完全解决,但并不是所有的操作系统中都安装了NTSD、CDB等调试工具。了解了mini dump文件格式后,完全可以程序自动生成Dump文件。本文主要讨论以下内容:1、 运行原理2、 程序修改3、 注意事项一、 运行原理当程序遇到未处理异转载 2009-10-24 15:25:00 · 1081 阅读 · 0 评论 -
VS2005中SetUnhandledExceptionFilter函数应用
很多软件通过设置自己的异常捕获函数,捕获未处理的异常,生成报告或者日志(例如生成mini-dump文件),达到Release版本下追踪Bug的目的。但是,到了VS2005(即VC8),Microsoft对CRT(C运行时库)的一些与安全相关的代码做了些改动,典型的,例如增加了对缓冲溢出的检查。新CRT版本在出现错误时强制把异常抛给默认的调试器(如果没有配置的话,默认是Dr.Watson),而不再通转载 2009-10-24 15:47:00 · 1764 阅读 · 1 评论