zoukankan      html  css  js  c++  java
  • Vista 提升权限

    代码
    // 启动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*/);
    }

     

  • 相关阅读:
    iOS开发- 蓝牙后台接收数据(BLE4.0)
    代码优化之减少重复代码-实践
    微信iOS多设备多字体适配方案总结
    iOS微信小视频优化心得
    iOS项目工程及目录结构
    手机淘宝 521 性能优化项目揭秘
    最大连续和
    struts2入门
    Maven环境搭配及继承
    easyui高级控件
  • 原文地址:https://www.cnblogs.com/chengxin1982/p/1750925.html
Copyright © 2011-2022 走看看