Vista 提升权限

ExpandedBlockStart.gif 代码
//  启动Shell    
OSVERSIONINFOEX OSVerInfo;    
OSVerInfo.dwOSVersionInfoSize 
=   sizeof (OSVERSIONINFOEX);    
if ( ! GetVersionEx((OSVERSIONINFO  * ) & OSVerInfo))    
{    
         OSVerInfo.dwOSVersionInfoSize 
=   sizeof (OSVERSIONINFO);    
         GetVersionEx((OSVERSIONINFO 
* ) & OSVerInfo);    
}    
  
TCHAR atszVerb[
16 ];    
if (OSVerInfo.dwMajorVersion  >=   6 //  Vista 以上    
{    
         _tcscpy(atszVerb,_T(
" runas " ));    
}    
else     
{    
         _tcscpy(atszVerb,_T(
"" ));    
}    
  
USES_CONVERSION;    
  
SHELLEXECUTEINFO se ;    
memset(
& se, 0 , sizeof (SHELLEXECUTEINFO));    
se.cbSize 
=   sizeof (SHELLEXECUTEINFO);    
se.lpVerb 
=  atszVerb;    
se.lpFile 
=  W2T(m_bstrShellExe);    
se.lpParameters 
=  atszBootCmd;    
se.nShow 
=  SW_HIDE ;    
se.fMask 
=  SEE_MASK_NOCLOSEPROCESS ;    
  
if (ShellExecuteEx( & se))    
{    
        
//  启动成功    
}    
else     
{    
        
//  启动失败,可能UAC没有获得用户许可    
}  
 
// 进程权限不同 通讯
typedef BOOL (WINAPI FAR *ChangeWindowMessageFilter_PROC)(UINT,DWORD);
ChangeWindowMessageFilter_PROC m_pfnChangeWindowMessageFilter;
m_pfnChangeWindowMessageFilter = (ChangeWindowMessageFilter_PROC)::GetProcAddress (::GetModuleHandle(_T("USER32")),"ChangeWindowMessageFilter");
if (m_pfnChangeWindowMessageFilter)
{
 m_pfnChangeWindowMessageFilter(WM_COPYDATA, 1/*Add*/);
}

 

 

 

 

转载于:https://www.cnblogs.com/chengxin1982/archive/2010/06/03/1750925.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值