当前所在位置:珠峰网资料 >> 计算机 >> 软件水平 >> 正文
VC++实现Vista和Win7系统低权限程序向高权限程序发消息
发布时间:2010/12/1 16:57:57 来源:www.xue.net 编辑:城市总裁吧

  需要在高权限程序开始的地方加入以下代码,指定什么消息可以接受

  typedef BOOL (WINAPI *_ChangeWindowMessageFilter)( UINT , DWORD);

  BOOL CVistaMsgRecvApp::AllowMeesageForVista(UINT uMessageID, BOOL bAllow)//注册Vista全局消息

  {

  BOOL bResult = FALSE;

  HMODULE hUserMod = NULL;

  //vista and later

  hUserMod = LoadLibrary( L"user32.dll" );

  if( NULL == hUserMod )

  {

  return FALSE;

  }

  _ChangeWindowMessageFilter pChangeWindowMessageFilter = (_ChangeWindowMessageFilter)GetProcAddress( hUserMod, "ChangeWindowMessageFilter" );

  if( NULL == pChangeWindowMessageFilter )

  {

  AfxMessageBox(_T("create windowmessage filter failed"));

  return FALSE;

  }

  bResult = pChangeWindowMessageFilter( uMessageID, bAllow ? 1 : 2 );//MSGFLT_ADD: 1, MSGFLT_REMOVE: 2

  if( NULL != hUserMod )

  {

  FreeLibrary( hUserMod );

  }

  return bResult;

  }

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved