Schtasks 不提供对该程序的完全访问权限

问题描述 投票:0回答:1

我用C写了一段小代码,想尝试通过Schtasks运行它。启动了,但是需要管理员权限的winapi功能不起作用。

对于

cmd
,我使用此提示(我使用管理员权限启动它):

schtasks /create /ru SYSTEM /tn TestTask /tr "C:\Users\Koalko\Desktop\main.exe" /sc ONSTART

我还尝试将我的个人资料添加到管理员组,但这没有改变任何内容:

net localgroup Administrators Koalko /add

我的C代码:

#include <stdio.h>
#include <Windows.h>

int main(int argc, char* argv[]) {
    for (int i = 0; i <= 5; i++) {
        printf("\rBLOCK INPUT AFTER %d SECONDS", 5-i);
        Sleep(1000);
    }
    printf("\nBLOCK INPUT ON 5 SECONDS!!!\n");
    BlockInput(TRUE);
    Sleep(5000);
    BlockInput(FALSE);
    printf("RELEASE INPUT\n");
    getchar();
    return 0;
}

我不认为代码有问题。

c windows winapi windows-task-scheduler
1个回答
0
投票

非常感谢 IInspectable 和 Remy Lebeau。 问题是该程序正在非交互式会话中运行,因此无法执行

BlockInput
。 查看
schtasks
文档后,我发现
/IT
属性允许任务在交互式会话中运行。 需要注意的是,该属性不适用于
SYSTEM
用户,并且不使用
/sc ONSTART
执行。

schtasks /create /ru Koalko /tn TestTask /tr "C:\Users\Koalko\Desktop\main.exe" /sc ONLOGON /RL HIGHEST /IT /f
© www.soinside.com 2019 - 2024. All rights reserved.