11 Eleven

尚未进行身份认证

路漫漫其修远兮,吾将上下而求索 ...

等级
TA的排名 8k+

监控Windows系统音量变化通知

//HeaderFile#pragmaonce#include<mmdeviceapi.h>#include<endpointvolume.h>#include<corecrt_math.h>typedefvoid(CALLBACK*PFN_NOTIFYCALLBACK)(DWORDdwVolume,LPVOIDlpCo...

2019-07-03 09:44:46

删除最近几天的LOG记录文件

//DeleteExpireLogFilesBOOLDeleteExpireFiles(LPCTSTRlpszFileExt,SYSTEMTIME*pSystemTime,intnReservedDays){ BOOLbRet=FALSE; do { ASSERT(NULL!=lpszFileExt); ASSERT(NULL!=pSyste...

2019-07-03 09:27:21

获取EXE文件版本信息(版本格式:xx.xx.xx.xx)

BOOLGetVersion(LPTSTRlpszVersion,size_tnLength,LPCTSTRlpszExecute){ BOOLbRet=FALSE; TCHAR*pVersion=NULL; do { if((NULL==lpszVersion)||(nLength<=0)||(NULL==lpszExecut...

2018-06-08 10:28:04

监控屏幕背光Brightness变化的通知

MS网站上给出了用PowerShell的方式用来设置/获取Brightness的值。为了方便使用,将相关接口进行了封装:#pragmaonce#include<initguid.h>#include<cguid.h>#include<atlcomcli.h>#include<atlcoll.h>#include<com...

2018-06-06 16:55:53

登录系统以后,在Windows服务进程中启动需管理员权限(带盾牌图标)的应用程序

//创建交互式服务安装完成以后,启动UI的程序BOOLLaunchApplication(LPCTSTRlpszExecute,LPCTSTRlpszCmdLine){ BOOLbRet=FALSE; HANDLEhUserTokenDup=NULL; LPVOIDpEnv=NULL; do { DWORDdwSessionId=0; if...

2018-05-08 23:10:17

应用程序版本号比对

BOOLCompareVersion(LPCTSTRlpszVer1,LPCTSTRlpszVer2,int&nResult){ BOOLbRet=FALSE; do { if((NULL==lpszVer1)||(NULL==lpszVer2)){break;} //Version:a.b.c.d #defineDEFA...

2018-05-03 22:24:12

Win32 Dialog对话框处理WM_KEYDOWN事件

MFC中重写虚函数PreTranslateMessage里是可以过滤WM_KEYDOWN消息的。但是如果是Win32SDK中利用DialogBox/DialogBoxParam创建模态对话框一般行为是不处理WM_KEYDOWN消息的。如果该对话框中没有任何的子控件的话,在对话框的窗口回调函数DlgProc()中是可以过滤到WM_KEYDOWN消息的,不过并不是所有的键的消息都可以捕获到,例如像T

2014-12-10 13:22:22

《反入侵的艺术——黑客入侵背后的真实故事》 书评

第一次知道凯文•米特尼克(KevinD.Mitnick)这个名字,是在大学的图书馆里,这个被誉为世界头号黑客,他的黑客生涯充满了丰富精彩而又富有传奇。现今他是全球广受欢迎的信息安全专家,他将所采访的多个黑客的入侵公司、政府和组织的故事记录下来,并进行专业分析,与读者分享。《反入侵的艺术——黑客入侵背后的真实故事》一书就是由此而来的。书籍本身并没有涉及到太多太高深的专业黑客技术知识的

2014-09-22 10:57:43

动态调整对话框属性(去掉标题栏,去掉边框,修改类似成Border:NONE样式)

//动态修改对话框属性,去掉对话框标题栏,设置Border为NONE属性。if(dlg.GetSafeHwnd()){ dlg.ModifyStyle(WS_CAPTION,0);//去掉标题栏 dlg.ModifyStyleEx(WS_EX_DLGMODALFRAME,0);//去掉边框 dlg.SetWindowPos(NULL,0,0,0,0,SWP_NOSI

2014-02-20 10:42:01

输出进程相关联的环境变量信息

voidDumpEnvironmentStrings(){#defineMAX_ENVIRONMENT_NAME_LENGTH (128)#defineMAX_ENVIRONMENT_VALUE_LENGTH (1024) LPTSTRlpszEnvString=GetEnvironmentStrings(); if(NULL==lpszEnvString) {

2012-10-28 21:28:03

字符串编码之间的转换(GB2312<->UTF8<->Unicode)及URLEncoding

LPWSTRGB2312ToUnicode(LPCSTRlpszInBuf){ if(NULL==lpszInBuf) { returnNULL; } WCHAR*pBuf=NULL; intnLen=MultiByteToWideChar(CP_ACP,0,lpszInBuf,-1,pBuf,0); pBuf=newWCHAR[nLen];

2012-10-28 20:49:39

_CrtDumpMemoryLeaks报告程序中的内存泄露问题(简单示例代码)

#include"stdafx.h"#include#include#ifdef_DEBUG//这个要加上,否则不会输出定义到那个文件中(及不包含存在内存泄露的该cpp文件的相关信息) #definenewnew(_NORMAL_BLOCK,__FILE__,__LINE__)#endifint_tmain(intargc,_TCHAR*argv[])

2012-09-11 07:40:46

创建专有命名空间单实例程序

//Singleton.h#pragmaonceclassCSingleton{public: CSingleton(LPCTSTRlpszBoundary=_T("MyAppBoundary"),LPCTSTRlpszNamespace=_T("MyAppNamespace")); virtual~CSingleton(void);public: BOO

2012-08-25 12:50:57

一个简单的以User权限启动外部应用程序

BOOLExecuteAsUser(LPCWSTRlpszUserName,LPCWSTRlpszPassword,LPCWSTRlpszApplication,LPCWSTRlpszCmdLine){ if(NULL==lpszUserName) { returnFALSE; } if(NULL==lpszApplication) { return

2012-06-07 07:46:39

一个简单的将GUI程序的log信息输出到关联的Console窗口中

//.h文件#pragmaonceclassCConsoleDump{public: explicitCConsoleDump(LPCTSTRlpszWindowTitle=NULL); virtual~CConsoleDump(void);public: BOOLDUMP(LPCTSTRlpszFmt,...); BOOLShow

2012-06-03 19:46:12

ReadDirectoryChangesW 监控文件夹 (一个简单的监控示例程序)

//.h文件#pragmaoncetypedefvoid(*PFN_NotifyAction)(DWORDdwAction,LPWSTRszFile,DWORDdwLength);classCDirectoryWatch{public: CDirectoryWatch(void); virtual~CDirectoryWatch(void);public

2012-05-13 12:31:38

FormatMessage格式化错误信息

//ErrorMsg.h#pragmaonceclassCErrorMsg{public: CErrorMsg(void); virtual~CErrorMsg(void);public: DWORDGetLastError(DWORDdwErrorId,LPTSTRlpszError,DWORDdwLength);private: LPCTSTRm

2012-05-09 22:22:31

Win32 SDK创建RichEdit Control控件

HMODULEhRichEditDll=NULL;WM_CREATE:{hRichEditDll=LoadLibrary(_T("RICHED20.dll"));HWNDhRichEdit=CreateWindowEx(WS_EX_CLIENTEDGE,_T("RichEdit20W"),NULL,WS_CHILD|WS_VISIBLE|W

2012-04-19 09:47:41

取消用鼠标拖动或者用键盘在编辑框中选择的文本内容

//0x0118这个消息是MS未文档化的消息WM_SYSTIMER(caretblink)BOOLCXXDlg::PreTranslateMessage(MSG*pMsg){ //TODO:Addyourspecializedcodehereand/orcallthebaseclass CEdit*pEdit=(CEdit*)GetDlgItem

2012-03-04 14:30:38

VS2008SP1/VS2010 展开所有菜单下的子菜单项(默认是部分菜单折叠显示)

VS2008SP1/VS2010新建的SDI/MDI窗口默认有些菜单是折叠的,如下图所示:如果要想展开该菜单项的话,可以修改CMainFrame类的OnCreate函数中的代码,里面有这样一段:intCMainFrame::OnCreate(LPCREATESTRUCTlpCreateStruct){ if(CMDIFrameWndEx::OnCreate(lpCreat

2012-02-27 10:33:16

查看更多

CSDN身份
  • 论坛版主
勋章 我的勋章
  • 微软mvp
    微软mvp
    授予通过CSDN博客平台积极分享微软相关技术知识和专业技能,并做出突出贡献的用户。
  • 红花
    红花
    子板块内专家分月排名榜第一
  • 黄花
    黄花
    子板块内专家分月排名榜第二
  • 蓝花
    蓝花
    子板块内专家分月排名榜第三
  • 金牌
    金牌
    总榜技术专家分月排行榜第一
  • 银牌
    银牌
    总榜技术专家分月排行榜第二
  • 铜牌
    铜牌
    总榜技术专家分月排行榜第三
  • 探花
    探花
    总榜技术专家分年内排名榜第三
  • 进士
    进士
    总榜技术专家分年内排名榜第四
  • 名人
    名人
    名人称号
  • 优秀版主
    优秀版主
    优秀小版主