SHELLEXECUTEINFO「建议收藏」

SHELLEXECUTEINFO「建议收藏」SHELLEXECUTEINFO是WindowsAPIShellExecuteEx的参数,这个是一个结构体类型,里面可以添加参数,当IpVerb成员为"runas"的时候可

大家好,又见面了,我是你们的朋友全栈君。

SHELLEXECUTEINFO 是Windows API ShellExecuteEx的参数,这个是一个结构体类型,里面可以添加参数,当IpVerb成员为 “runas”的时候可以提升启动进程的权限,如果不设置,会继承父进程的权限,ShellExecuteEx

 

std::string strOpEXEPath = _strOpEXEPath;

 

SHELLEXECUTEINFO sei = { 0 };

DWORD ExitCode = 0;

 

// Initialize for ShellExecuteEx

sei.cbSize = sizeof(SHELLEXECUTEINFO);

sei.fMask = SEE_MASK_NOCLOSEPROCESS;

sei.lpVerb = "runas";

sei.lpFile = strOpEXEPath.c_str();

sei.lpParameters = strConfigINIFile2.c_str();

sei.lpDirectory = NULL;

sei.nShow = SW_HIDE;

 

BOOL hr = ::ShellExecuteEx(&sei);

 

if ((LONG)sei.hInstApp > 32)

{

DWORD ResultWait = WaitForSingleObject(sei.hProcess, INFINITE);

if (ResultWait == WAIT_TIMEOUT)

{

TerminateProcess(sei.hProcess, 0);

}

 

GetExitCodeProcess(sei.hProcess, &ExitCode);

CloseHandle(sei.hProcess);

}

  

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155025.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 程序员如何自我学习和成长?[通俗易懂]

    程序员如何自我学习和成长?

    2022年2月19日
    106
  • 汽车电子设计之SBC芯片简单认识[通俗易懂]

    汽车电子设计之SBC芯片简单认识[通俗易懂]参考英飞凌SBC官网资料:https://www.infineon.com/cms/cn/product/automotive-system-ic/system-basis-chips-sbc/SBC芯片在汽车电子领域可谓占一席之地了。那么什么是SBC?怎么用?用在哪里?主要特性?1.什么是SBC?SBC的系统框图系统基础芯片(SBC,SystemBasisChip),从广义上来说,是一种包含电源、通信、监控诊断、安全监控等特性以及GPIO的独立芯片。随着汽车电子模块的日益小型化,对低功耗和

    2025年11月1日
    3
  • 时滞模型的matlab编程_adams多体动力学仿真视频

    时滞模型的matlab编程_adams多体动力学仿真视频Matlab仿真含时滞多智体一致性分析,附代码系统结构如下图所示:clear;clc;%2014_多智能体网络的一致性问题研究_纪良浩%此为Paper中的示例代码%例2.1:A=[0,0,0.1,0,0;0.1,0,0,0,0;0,0.15,0,0,0;0,0.25,0,0,0;0.2,0,0,0,0;];D=[0,0,0,0,0;

    2022年10月1日
    2
  • 开心农场2激活成功教程版无限金币钥匙_开心农场2乡村度假内购激活成功教程版

    开心农场2激活成功教程版无限金币钥匙_开心农场2乡村度假内购激活成功教程版 最近开心农场非常火,同学用C#模拟鼠标点击操作做了一个小外挂,但是这样做有如下缺点:1、计算机不能做其他事情,2、必须开着浏览器,3、对所有好友点一遍的时间太慢,4、对于开发者来说技术含量低了点,呵呵。 所以我尝试着改进这种实现,我的想法是:不用开启浏览器,直接运行一个应用程序,该程序将自己伪装成一个浏览器,与服务器连接,并发送浇水、除虫等命令。这样,甚至可以使用多线程向服务器发送命令,无需…

    2025年11月8日
    3
  • ncodeURIComponent() 函数 vue内容

    ncodeURIComponent() 函数 vue内容

    2022年3月1日
    44
  • idea安装mybatis插件_maven 插件

    idea安装mybatis插件_maven 插件MyBatis允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis允许使用插件来拦截的方法调用包括:Executor(update,query,flushStatements,commit,rollback,getTransaction,close,isClosed)ParameterHandler(getParameterObject,setP

    2022年9月26日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号