- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这可能是一个常见问题,但我无法在网上找到它。我正在尝试在 Windows 10 上自动管理和创建计划任务。
我正在关注 timed trigger example来自微软文档。
我能够成功填充ITaskDefinition*
、IRegistrationInfo*
、IPrincipal*
、ITaskSettings*
、ITriggerCollection*
、IActionCollection*
根据该指南(全部获得 S_OK),我能够列出任务并删除现有任务。我还可以从 GUI 手动注册任务。
但是,当调用 RegisterTaskDefinition()
时,HRESULT 变为 E_ACCESSDENIED
,没有进一步的细节。
这是我配置登录的地方:
void SetPasswordLogin(SchedulerServiceHandle srv, TaskHandle tsk){
HRESULT auth_s = tsk->principal->put_LogonType(TASK_LOGON_PASSWORD);
if(FAILED(auth_s)) {
throw TaskException("Failed to set logon type (password)");
}
/*HRESULT user_s = tsk->principal->put_UserId(_wstring2bstring(_domainuser2fqdnuser(srv->auth.domain,srv->auth.user)));
if(FAILED(user_s)) {
throw TaskException("Failed to set user");
}*/
HRESULT runl_s = tsk->principal->put_RunLevel(TASK_RUNLEVEL_HIGHEST);
if(FAILED(runl_s)) {
throw TaskException("Failed to set runlevel");
}
tsk->login_type = Task::LoginType::Password;
}
我对 RegisterTaskDefinition()
的调用:
void RegisterTestTask(SchedulerServiceHandle srv,TaskHandle tsk,ITaskFolder* folder,std::wstring name) {
IRegisteredTask* wintask = nullptr;
HRESULT wintask_s = folder->RegisterTaskDefinition(
NULL,//_bstr_t(&name),
tsk->definition,
//TASK_VALIDATE_ONLY,
TASK_CREATE|TASK_UPDATE,
_wstring2variant(_domainuser2fqdnuser(srv->auth.domain,srv->auth.user)),
_wstring2variant(srv->auth.pass),
TASK_LOGON_PASSWORD,
_variant_t(L""),
&wintask
);
/*snip - error checking*/
}
如果我使用 TASK_VALIDATE_ONLY 运行,它会正常运行。
我曾尝试以管理员身份运行 Visual Studio,发现它可能没有权限,但这没有任何改变 - 与直接从提升的 cmd 提示符运行二进制文件相同。
尽管 Principal 和 Registration 使用了相同的设置和凭据,但我有一个旧的 C# 版本确实有效,所以我一定缺少一些额外的步骤。
最佳答案
我想通了。
事实证明,除了:
#pragma comment(lib, "taskschd.lib")
Task scheduler 还需要链接到 comsupp 和 credui:
#pragma comment(lib, "comsupp.lib")
#pragma comment(lib, "credui.lib")
缺少链接库如何导致 E_ACCESSDENIED 中的结果令我感到困惑,但我想一旦我对 Windows API 有了更多了解,我就会弄明白这一点。
关于c++ - C++ 中的任务管理器 : HRESULT of E_ACCESSDENIED on task registration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51547861/
我有一个 ASP.NET 网站(在 C# 中),它接收用户数据,然后尝试创建一个 Windows 计划任务。当然,这在 DEV 机器上运行良好,但无法在服务器上运行。我试图弄清楚 ASPNET 用户(
我正在使用 2 台 PC,它们都运行 Windows XP。两者都在其 DCOM 接口(interface)上注册了相同的应用程序。现在我正尝试从一台计算机在另一台计算机上启动该程序。 首先我调用了
我在 VS2010 和 Windows 7 中编程。 我正在从 winbio.h 调用 WinBioOpenSession 函数 这是我的代码: WINBIO_SESSION_HANDLE sessi
我尝试编写一些语音识别应用程序,但发现以下代码: SpeechRecognitionEngine recognitionEngine = new SpeechRecognitionEngine();
我正在开发一个 DCOM 应用程序,服务器和客户端位于两台计算机上,两台计算机都运行带有 Service Pack 2 的 WinXP。在两台计算机上,我使用相同的用户名和密码登录。 当一台机器上的客
抱歉,如果这有点冗长......考虑一下: 我在名为 Company 的命名空间中有一个 COM+ 应用程序,它公开了一个名为 Server 的对象,该对象具有以下方法: bool Server.Ex
我正在尝试使用 DirectInput 键盘,但我的代码抛出了一个奇怪的错误。我可以完成所有内容的创建和设置,它们都返回 S_OK,但是当我尝试运行时 HRESULT hr; hr = m_pDIKe
我有一些代码曾经可以工作,但最近停止了。它位于 Adobe Reader 插件中,最新版本的 Reader 具有导致我出现问题的“保护模式”。 我的插件可以加载我的一些正常的 dll,这些 dll
下面的方法是DCOM服务器方法。 COM 客户端和服务器运行在不同的 WinXP 机器上。 COM客户端调用RegisterClient方法注册回调接口(interface)。问题是 QueryInt
VirtualBox 更新后 vagrant up在 Ubuntu 上失败并出现以下错误: There was an error while executing `VBoxManage`, a CLI
这个问题在这里已经有了答案: Office 2010 server side automation in a Windows HPC Server 2008 R2 Environment (4 个答
环境:MS Windows Server 2003、IE9、MS Excel 2007。 先决条件:用户使用用户名和密码登录到服务器。通过 IE9(或任何其他 Web 浏览器)访问互联网时,会显示一个
当我在线上传我的网站时。我使用可爱的 ftp 上传网站。在线上传网站后,当我使用 url 运行网站时,会出现如下错误 Access is denied. (Exception from HRESULT
代码: ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query); ManagementObject
这可能是一个常见问题,但我无法在网上找到它。我正在尝试在 Windows 10 上自动管理和创建计划任务。 我正在关注 timed trigger example来自微软文档。 我能够成功填充ITas
我正在尝试读取 C# 4 应用程序中所有桌面快捷方式的目标。 Windows 桌面上的快捷方式可以来自多个位置,具体取决于快捷方式是为所有用户创建的还是仅为当前用户创建的。在这种特定情况下,我试图从公
我从事一个大量使用 COM 的项目,而新的 Spectre/Meltdown 补丁无疑会干扰程序内的通信。 我怎么知道?我重新镜像了不存在此补丁的 Windows 机器(2017 年 5 月)。我安装
我正在尝试写入 GAP 服务 (0x180) 特征和 0x2A04 每当我尝试写入 0x2A04(连接参数)或 0x0200(设备名称)时, var devices = await Windo
我有一个Docker Compose文件可以运行ELK Stack version: '3.7' services: elasticsearch: build: context
我遇到异常 "Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))" on the code for Prox
我是一名优秀的程序员,十分优秀!