Win10 下 使用管理员账户 CreateProcessWithLogonW 权限不足

.简.简.单.单. 2021-05-24 10:24:38
在Win10 下使用管理员账户和密码,在启动一个需要高权限的程序也提示 权限不足;
如果启动的软件没有权限要求,则运行正常。
代码使用的是微软的例子, 大致如下:

if (!LogonUser(argv[1], NULL, argv[2], LOGON32_LOGON_INTERACTIVE,
LOGON32_PROVIDER_DEFAULT, &hToken))
DisplayError(L"LogonUser");

if (!CreateEnvironmentBlock(&lpvEnv, hToken, TRUE))
DisplayError(L"CreateEnvironmentBlock");

dwSize = sizeof(szUserProfile)/sizeof(WCHAR);

if (!GetUserProfileDirectory(hToken, szUserProfile, &dwSize))
DisplayError(L"GetUserProfileDirectory");

//
// TO DO: change NULL to '.' to use local account database
//
if (!CreateProcessWithLogonW(argv[1], NULL, argv[2],
LOGON_WITH_PROFILE, NULL, argv[3],
CREATE_UNICODE_ENVIRONMENT, lpvEnv, szUserProfile,
&si, &pi))
DisplayError(L"CreateProcessWithLogonW");

if (!DestroyEnvironmentBlock(lpvEnv))
DisplayError(L"DestroyEnvironmentBlock");



...全文
863 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
.简.简.单.单. 2021-05-26
  • 打赏
  • 举报
回复
引用 9 楼 慢节奏qukq 的回复:
[quote=引用 8 楼 入门or入土 的回复:][quote=引用 7 楼 慢节奏qukq 的回复:]对着编辑器右键-管理员启动
还是需要输入管理员密码啊,主要是不想用户输入密码,可以用程序输入。[/quote] 打开vs 选择解决方案--属性--链接器--清单文件 找到UAC执行级别 选择 uireAdministrator (/level='requireAdministrator') 在试试看[/quote] 那样也是使用管理员权限运行的,我主要是想不用弹出UAC,用程序输入密码
慢节奏qukq 2021-05-25
  • 打赏
  • 举报
回复
对着编辑器右键-管理员启动
.简.简.单.单. 2021-05-25
  • 打赏
  • 举报
回复
引用 4 楼 Eleven 的回复:
ShellExecuteEx "Runas"
还是需要用户输入管理员密码,我需要用程序来做!
Eleven 2021-05-25
  • 打赏
  • 举报
回复
ShellExecuteEx "Runas"
慢节奏qukq 2021-05-25
  • 打赏
  • 举报
回复
引用 8 楼 入门or入土 的回复:
[quote=引用 7 楼 慢节奏qukq 的回复:]对着编辑器右键-管理员启动
还是需要输入管理员密码啊,主要是不想用户输入密码,可以用程序输入。[/quote] 打开vs 选择解决方案--属性--链接器--清单文件 找到UAC执行级别 选择 uireAdministrator (/level='requireAdministrator') 在试试看
.简.简.单.单. 2021-05-25
  • 打赏
  • 举报
回复
引用 7 楼 慢节奏qukq 的回复:
对着编辑器右键-管理员启动
还是需要输入管理员密码啊,主要是不想用户输入密码,可以用程序输入。
.简.简.单.单. 2021-05-24
  • 打赏
  • 举报
回复
希望大家帮帮我!!!!
.简.简.单.单. 2021-05-24
  • 打赏
  • 举报
回复
就是使用普通用户也能打开管理员程序的功能。。。
.简.简.单.单. 2021-05-24
  • 打赏
  • 举报
回复
使用CreateProcessAsUserW和CreateProcessWithTokenW 也是权限不足 我该怎么办
内容概要:本文介绍了SB200工业级单芯片RS232转RS422/RS485转换收发器的技术特性与优势。该器件采用QFN-40封装,具备端口供电功能,无需外接电源即可工作,支持RS422与RS485多节点组网,并实现自动方向控制,无需额外的DTR或RTS控制信号。SB200最高支持921.6 Kbps的波特率,在1.2km长距离传输下仍能稳定运行,显著优于传统低价转换器。文档还展示了SB200在不同模式下的性能表现,包括RS422、RS485回显与非回显模式,并提供与其他产品的详细对比,突出其在速率、多点通信、终端电阻配置和工业级温度范围等方面的优势。 适合人群:从事工业通信、嵌入式系统开发及相关硬件设计的研发人员,特别是对串行通信接口有应用需求的工程师;适用于有一定电子技术基础的技术支持或产品选型人员。 使用场景及目标:①用于工业现场长距离、高可靠性的串行通信部署;②替代传统需外部供电和手动方向控制的转换器,简化系统布线与维护;③应用于支持多点组网、高速数据传输的RS485/RS422网络中,提升通信效率与稳定性。 阅读建议:在阅读过程中应重点关注SB200的自动方向控制机制、端口供电能力及其在不同通信模式下的性能参数,结合实际应用场景进行器件选型评估,并参考对比表格识别其相对于低端产品的综合优势。 如需SB300数据手册与其他详细资料,欢迎随时咨询北京博控自动化技术有限公司索取。

2,644

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧