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*/);
    }

     

  • 相关阅读:
    SharePoint安全性验证无效
    纠结的TreeView动态加载节点
    Microsoft CRM 安装问题汇总
    moss里用Response生成Excel以后页面按钮失效问题
    zt:System.Globalization 命名空间
    ZT:自定义的泛型类和泛型约束
    开博了,,,
    zt:SilverLight遍历父子控件的通用方法
    zt: 学习WPF绑定
    zt:使用复杂类型定义模型(实体框架)
  • 原文地址:https://www.cnblogs.com/chengxin1982/p/1750925.html
Copyright © 2011-2022 走看看