自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(89)
  • 资源 (8)
  • 收藏
  • 关注

原创 windows 普通用户 使用管理员权限运行程序

#include #include#pragma comment (lib,"userenv.lib") DWORD dwSize;HANDLE hToken;LPVOID lpvEnv;PROCESS_INFORMATION pi = {0};STARTUPINFOW si = {0};WCHAR s

2010-04-28 20:00:00 1596

原创 MFC获取计算机名

 char userName[MAX_PATH]; CString sUsername; DWORD size=MAX_PATH; ::GetComputerName(userName,&size); sUsername.Format("%s",userName);

2010-04-25 22:54:00 750

原创 CString 转LPCWSTR

int _convert; UINT _acp = GetACP(); LPCSTR _lpa;  LPCWSTR pwcStr = A2CW((LPCSTR)sUsername);  

2010-04-25 22:51:00 563

原创 汇编之条件转移指令

 jcxz 如果CX=0,跳转指令                    含义                                            检测的相关标志位je                        等于则转移                                 ZF=1jne                      不等于则转移    

2008-12-12 16:10:00 460

原创 cmp 指令

 cmp 是比较指令,相当于不保存结果的减法指令,但影响标志寄存器cmp ax,bxax=bx,  则ZF=1ax!=bx, 则ZF=0axaxax>bx,  则CF=0ax>=bx,则CF=0或ZF=1 相关链接:标志寄存器

2008-12-12 15:51:00 564

原创 标志寄存器

按位起作用15    14    13    12    11    OF    10    DF     09    IF    08    TF    07    SF     06    ZF05    04    AF    03    02    PF    01    00    CF                 

2008-12-12 14:57:00 527

原创 汇编加减乘除

加add 寄存器 数据            add ax,8add 寄存器,寄存器         add ax,bxadd 寄存器,内存单元     add ax,[0]add 内存单存,寄存器     add [0],bx adc带进位加法指令 adc 操作对象1,操作对象2,则结果等于 操作对象1=操作对象1+操作对象2+CF  减sub 寄存器 数

2008-12-12 10:16:00 572

原创 汇编debug命令

r 查看 改为CPU寄存器的内容r 修改 ax寄存器的值 改完后AX=1000 d 查看内存中的内容 命令格式 d 段地址:偏移地址 结尾偏移地址 没有结尾偏移地址的话,就从开始输出128个字节的内容 e 改写内存的内容 u 查看内存中机器码的含义 t 执行当前CS:IP指向的指令 当前1000:0000的指令是 MOV AX,000

2008-12-03 12:59:00 1601 1

原创 jmp 偏移地址的计算方法

E9的jmp距离计算:距离=目的地址-(当前地址+5)(加5是因为JMP命令共占5个字,实际是目的地址减去JMP命令的尾地址,即当前地址+5如目标地址为 f1e0b63e 当前地址为   8093c6d8距离=f1e0b63e -8093c6d8-5=714cef61jmp为当前地址 当前编码                        汇编指令8093c6d8 e961ef4c71(按字倒着写

2008-12-03 12:53:00 2722

原创 汇编之寄存器

AX、BX、CX、DX用来存在一般性的数据,称为通用寄存器CX用于存放 loop 的循环次数CS为代码段寄存器,IP为指令指针寄存器 CS:IP指向的内容为当前要执行的指令 CS:IP=CS*N+IP(N为CPU的字长) 修改CS,IP的内容,要用JMP,而不能用MOV,MOV可以修改通用寄存器的内容,但不能修改CS,IP的内容 如:jmp 2000:3,执行后,CS=20

2008-11-27 20:38:00 284

原创 命令模式(Command Pattern)

 命令模式(Command Pattern):将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象,命令模式也支持可撤销的操作。 实例:可编程遥控器,每个按钮可自定义设置各种家电命令,但家电厂商种类繁多,不同家电的命令不同,要使遥控器与命令分离 JAVA代码class Light{    String location;    int 

2008-11-25 21:29:00 252

原创 将UTF8转成ANSISTRING

 char * UTF8TOANSI(char *strUTF8){    WCHAR*     strA;           int     i=     MultiByteToWideChar     (     CP_UTF8     ,     0     ,(char*)     strUTF8     ,-1     ,NULL,0);          

2008-11-24 21:45:00 368

原创 判断字符串是否UTF8编码

 UTF8是以8bits即1Bytes为编码的最基本单位,当然也可以有基于16bits和32bits的形式,分别称为UTF16和UTF32,但目前用得不多,而UTF8则被广泛应用在文件储存和网络传输中。  编码原理  先看这个模板:  UCS-4 range (hex.) UTF-8 octet sequence (binary)  0000 0000-0000 007F 0xxx

2008-11-24 20:05:00 530

原创 驱动层分别使用PEB和sectionObject获取进程执行文件全路径的方法

本人是在WIN2003 SP2下开发的,请注意不同操作系统的偏移量不同 PEB EPROCESS->PEB(_PEB)->ProcessParameters((_RTL_USER_PROCESS_PARAMETERS)->ImagePathName(_UNICODE_STRING)void GetProcessName( IN OUT PCHAR pszName){

2008-11-19 15:39:00 2003

原创 PEB 结构导出(WINXP和WIN2003)

 WINXPlkd> DT NT!_PEB   +0x000 InheritedAddressSpace : UChar   +0x001 ReadImageFileExecOptions : UChar   +0x002 BeingDebugged    : UChar   +0x003 SpareBool        : UChar   +0x004 Mutant           :

2008-11-19 15:37:00 722

原创 EPROCESS 的结构导出(WINXP和WIN2003)

 WINXP lkd> dt nt!_EPROCESS   +0x000 Pcb              : _KPROCESS   +0x06c ProcessLock      : _EX_PUSH_LOCK   +0x070 CreateTime       : _LARGE_INTEGER   +0x078 ExitTime         : _LARGE_INTEGER  

2008-11-19 15:34:00 912

原创 使用SetWindowsHookEx监控全局鼠标(双击右键)

 HHOOK SetWindowsHookEx(   int idHook, // 钩子的类型,即它处理的消息类型  HOOKPROC lpfn, // 钩子子程的地址指针。如果dwThreadId参数为0  // 或是一个由别的进程创建的线程的标识,  // lpfn必须指向DLL中的钩子子程。  // 除此以外,lpfn可以指向当前进程的一段钩子子程代码。  // 钩子

2008-11-16 16:51:00 1199

原创 用RegisterHotKey为程序注册系统热键

RegisterHotKey  函数功能:该函数定义一个系统范围的热键。  函数原型:BOOL RegisterHotKey(HWND hWnd,intid,UINT fsModifiers,UINT vk);  参数:  hWnd:接收热键产生WM_HOTKEY消息的窗口句柄。若该参数NULL,传递给调用线程的WM_HOTKEY消息必须在消息循环中中进行处理。  id:定

2008-11-15 16:37:00 542

原创 枚举IHTMLDocument2中所有IFRAME的内容

#include  #include  #include  #include  #include  void EnumFrame( IHTMLDocument2 *pHTML ){    CComQIPtr spContainer( pHTML );    if( spContainer )    {        CComPtr spEnume

2008-11-15 09:09:00 1077

原创 使用IHTMLDocument2操作IE命令

HRESULT hr;IOleCommandTarget   *pCmd; hr=spDoc->QueryInterface(IID_IOleCommandTarget,(void **)&pCmd); if ( SUCCEEDED(hr) ){     VARIANT VA;//输入参数      VA.vt=VT_BSTR;     VA.bstrVal=O

2008-11-15 09:06:00 583

原创 通过窗口句柄,获取IE控件里的内容(获取IHTMLDocument2和HTML)

char str[128];GetClassName(hwnd,str,sizeof(str));//获取类名 if(strcmp(str,"Internet Explorer_Server")==0){    CoInitialize( NULL );    HINSTANCE hInst = ::LoadLibrary( _T("OLEACC.DLL") );

2008-11-15 08:26:00 2527

原创 枚举所有窗口

BOOL CALLBACK   EnumChildWindows(HWND   hwnd,   LPARAM   lParam){    char str[1000];    GetWindowText(hwnd,str,sizeof(str));//获取窗口标题     CString temp(str);    AfxMessageBox(temp);    G

2008-11-15 07:49:00 2560

原创 DDK sources文件

TARGETNAME=helloTARGETPATH=objTARGETTYPE=DRIVERDRIVERTYPE=FSSOURCES=hello.c /    ifany.c        TARGETNAME 指生成的目标名称,此为hello.sysTARGETPATH 指生成的目标路径 这里为hello.c文件所在文件夹下的obj文件夹TARG

2008-11-07 15:53:00 890

原创 DDK makefile文件

!IF 0Copyright (C) Microsoft Corporation, 1999 - 2002Module Name:    makefile.Notes:    DO NOT EDIT THIS FILE!!!  Edit ./sources. if you want to add a new source    file to t

2008-11-07 15:51:00 553

原创 DDK 最纯净的Hello world

只包含DriverEntry,IRP_MJ_DEVICE_CONTROL,DriverUnload函数是DDK的基本结构没有任何功能,所有DDK都要以这个结构来写 #include  #define DEVICE_NAME L"//Device//hello" #define DOS_NAME    L"//??//hello" void Unl

2008-11-07 15:42:00 695

原创 单件模式(Singleton Pattern)

单件模式(Singleton Pattern):确保一个类只有一个实例,并提供一个全局访问点.注:某些类拥有多个实例是不必要,不安全的,比如注册表管理理,线程池,连接池等等 class Singleton{    private static Singleton uniqueInstance;    private Singleton()    {    }

2008-10-29 20:27:00 214

原创 抽象工厂模式(Abstract Factory Pattern)

抽象工厂模式(Abstract Factory Pattern):提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类. 实例:使用抽象工厂,生产不同区域的PIZZA原料,使得只需使用一个工厂接口,生产各地原料,而且不需在类中实例化 注:其实抽象工厂就是将工厂方法中的Create方法定义成接口,所以抽象工厂和简单工厂有时可以互相实现

2008-10-29 19:58:00 228

原创 工厂方法模式(Factory Pattern)

工厂方法模式(Factory Pattern):定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个.工厂方法让类把例化推迟到子类 实例:PIZZA分店需制作不同类型的PIZZA,但制作过程要保持总店的规则 代码:JAVA import java.util.ArrayList;abstract class Pizza{    String na

2008-10-27 10:24:00 301

原创 八皇后问题(n皇后问题):递归和非递归的解法(C++)

 八皇后问题:在8*8格的棋盘上,放8个皇后,任意两个皇后不能在同一行,同一列,同一斜线上,求有几种摆法 n皇后问题:在n*n格的棋盘上,放n个皇后,任意两个皇后不能在同一行,同一列,同一斜线上,求有几种摆法 #include "stdafx.h" #include  #include  using namespace std;//非递归 voi

2008-10-22 08:24:00 1527 1

原创 装饰者模式(Decorator Pattern)

装饰者模式(Decorator Pattern):动态地将责任附加到对象上.若要扩展功能,装饰者提供了比继承更有弹性的替代方案注:装饰者模式的,常常造成设计中有大量的小类,在实例化组件时增加代码的复杂度 实例:连锁咖啡店订单系统,如果使用继承的方法,每种饮料,以加入的调料不同而声明不同的类,那么”类爆炸”就不幸地发生了 代码:JAVAabstract class

2008-10-21 19:42:00 248

原创 观察者模式(Observer Pattern)

观察者模式(Observer Pattern):定义了对象之间的一对多依赖,这样一样,当一个对象(主题)改变状态时,它的所有依赖者(观察者)都会收到通知并自动更新注:可以使用推或拉的方法,推(主题自动更新数据),拉(观察者主动更新数据,例如使用getter方法) 实例:气象站要实时通知布告板更新数据,布告板应该能灵活地增加分析:如果在气象站里直接接加布告板则违反了针对接口编程的原则

2008-10-17 07:16:00 280

原创 MFC 禁用关闭按钮

CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL){    pSysMenu->EnableMenuItem( SC_CLOSE, MF_BYCOMMAND|MF_GRAYED);}

2008-10-15 10:46:00 1719

原创 程序重启

char szFileName[MAX_PATH]; GetModuleFileName(theApp.m_hInstance, szFileName, MAX_PATH); ShellExecute(NULL, "Open", szFileName, NULL, NULL, SW_SHOWNORMAL);exit(0);

2008-10-15 09:52:00 261

原创 策略模式(Strategy Pattern)

  策略模式(Strategy Pattern):定义算法族,分别封装起来,让它们之间可以互相替换,比模式让算法的变化独立于使用算法的客户. 实例:需要实现鸭子的行为(叫和飞),但有些鸭子是不会飞的,而且不同鸭子的叫声不同.分析:如果使用继承的方法,代码会在多个子类重复,运行时的行为不容易改变,改变会牵一发动全身 代码:JAVAinterface Fly

2008-10-14 21:53:00 247

原创 关于windows驱动开发的几个专有名词的解释(DDK,WDM,IFS,VXD)

文件系统驱动是windows系统中最复杂的驱动种类之一。它的全称 IFS DDK 是指可安装文件系统 设备驱动程序开发工具。这方面的资料非常少 DDK 是指设备驱动程序开发工具 WDM(Win32 Driver Model),即Win32驱动程序模型 旨在通过提供一种灵活的方式来简化驱动程序的开发。在实现对新硬件的支持上,减少并降低了所必须开发的驱动程序的数量和复杂性。除了通用的平

2008-09-07 13:33:00 607 1

原创 c++ 读写剪贴板

 写:if(OpenClipboard()){  CString str;  HANDLE hClip;  char *pBuf;  EmptyClipboard(); str="879789789";  hClip=GlobalAlloc(GMEM_MOVEABLE,str.GetLength()+1);  pBuf=(char*)GlobalLock(hClip);//将句柄转换为指针! 

2008-09-01 09:34:00 286

原创 MFC dll 与 exe调用 Recources的区别

今天搞了一个上午,在EXE中能运行的,但在生成DLL调用后出错在EXE中:FindResource(0,MAKEINTRESOURCE(IDR_SYS1),"SYS");DWORD dwWritten,dwSize=SizeofResource(NULL,hr);LoadResource(NULL,hr); 句柄都指向NULL,指向默认的当前EXE,所以在EXE 调用DLL

2008-08-01 11:16:00 509

原创 使用lib.exe生成.lib文件

今天想用一用sqlite,但是下载后发现只有DLL,没有LIB,只能自己生成了.在H:/Program Files/Microsoft Visual Studio 8/VC/bin里面有个lib.exe用拿生成lib,但默认是不能运行的,缺少几个文件把H:/Program Files/Microsoft Visual Studio 8/Common7/IDE 里面的mspdb80.dll,mspd

2008-07-29 20:32:00 7556 1

原创 VS2005 把Edit Control(编辑框) 设为多行(Multiline)的方法.

把Auto HScroll 设为FALSE把MultiLine 设为TRUE

2008-07-28 11:10:00 695

原创 ASP.NET Redirect 后无法Alert的问题

解决方法就是用JavaScript重定向页面,不用RedirectResponse.Write("alert(添加成功!);window.location.href=zw.aspx ");

2008-05-26 16:10:00 422 1

ZwLyl AutoRename

小工具,将一个文件夹里面的文件随机加上前缀(如U盘里面的歌需要随机)

2013-05-22

userenv 头文件 dll lib

userenv 头文件 dll lib userenv 头文件 dll lib

2010-04-28

PASerror

SharePoint 连接到proclarity报表时,无法显示,出现HTTP 404 error 或HTTP 500 error <br><br>请将下面的文件放在PAS 站点要根目录下,如:C:\Inetpub\wwwroot\PAS 即可解决<br><br>

2008-05-19

Microsoft.SharePoint.Library.dll

这个东东居然有人要分,我发一个不用分的

2008-05-15

Microsoft.SharePoint.Library.dll

这个东东居然有人要分,我发布一个不用分

2008-05-15

Microsoft.SharePoint.Library.dll

居然有人这个也要分,我上传一个不用分的

2008-05-15

Microsoft.SharePoint.Library.dll

居然有人这个也要分,我上传一个不用分的

2008-05-15

ZwLyl定时关机V1.0

ZwLyl定时关机V1.0

2007-12-01

空空如也

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

TA关注的人

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