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



...全文
323 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
引用 9 楼 慢节奏qukq 的回复:
[quote=引用 8 楼 入门or入土 的回复:][quote=引用 7 楼 慢节奏qukq 的回复:]对着编辑器右键-管理员启动
还是需要输入管理员密码啊,主要是不想用户输入密码,可以用程序输入。[/quote] 打开vs 选择解决方案--属性--链接器--清单文件 找到UAC执行级别 选择 uireAdministrator (/level='requireAdministrator') 在试试看[/quote] 那样也是使用管理员权限运行的,我主要是想不用弹出UAC,用程序输入密码
  • 打赏
  • 举报
回复
慢节奏qukq 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') 在试试看
  • 打赏
  • 举报
回复
引用 7 楼 慢节奏qukq 的回复:
对着编辑器右键-管理员启动
还是需要输入管理员密码啊,主要是不想用户输入密码,可以用程序输入。
  • 打赏
  • 举报
回复
希望大家帮帮我!!!!
  • 打赏
  • 举报
回复
就是使用普通用户也能打开管理员程序的功能。。。
  • 打赏
  • 举报
回复
使用CreateProcessAsUserW和CreateProcessWithTokenW 也是权限不足 我该怎么办
  • 打赏
  • 举报
回复
相关推荐
发帖
硬件/系统

2614

社区成员

VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
帖子事件
创建了帖子
2021-05-24 10:24
社区公告
暂无公告