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);

}

  

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • rtmp协议详解_rtmp服务器

    rtmp协议详解_rtmp服务器前言最近在学习rtmp协议,在看官方文档的时候总是懵懵懂懂,硬生生看了两天,现在基本上了解rtmp协议了,想用自己觉得比较清晰的方式来讲解rtmp协议,希望能够对向我一样的初学者有所帮助。本文将通过以下四部分讲解rtmp协议。1、消息2、块3、rtmp的消息类型4、实例分析rtmp传输过程一、消息消息是rtmp的基本数据单元,服务端和客户端通过在网络上发送RTMP消息进行通讯。…

    2022年10月22日
  • ffplay播放器原理剖析

    ffplay播放器原理剖析****************************************************************************** ffplay系列博客:                                           ** ffplay播放器原理剖析    …

  • .net类的初始化机制,顺序,内存分配,

    .net类的初始化机制,顺序,内存分配,

  • inputstream输出到文件_input type file

    inputstream输出到文件_input type filepackagehtc;/*————FoolishDoger——————2017-9-28————–*/importjava.io.BufferedInputStream;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInp

  • Java类的三大特性总结

    Java类的三大特性总结类的三大特性包括:封装、继承、多态一、封装1.含义:封装就是把同一类事物的共性(包括属性和方法)归到同一类中,方便使用。封装和继承几乎都是为多态而准备的。封装也称信息隐藏,是指利用抽象数据类型把数据和基于数据的操作封装起来,使其成为一个不可分割的整体,数据隐藏在抽象数据内部,尽可能的隐藏数据细节,只保留一些接口使其与外界发生联系。也就是说用户无需知道内部的数据和方法的具体实现…

  • Snort安装_snorer

    Snort安装_snorer1、下载源文件wgethttps://www.snort.org/downloads/snort/daq-2.0.6.tar.gzwgethttps://www.snort.org/downloads/snort/snort-2.9.8.0.tar.gz2、解压安装tarxvfzdaq-2.0.6.tar.gzcddaq-2.0.6./configure;mak

    2022年10月24日

发表回复

您的电子邮箱地址不会被公开。

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