首页 > 解决方案 > 任务计划程序 IID_ILogonTrigger 未定义

问题描述

我从 MSDN 中找到了一个示例代码,它在用户登录时触发 notepad.exe,

但是当我尝试使用编译程序时g++ task.cpp -o task.exe -lole32 -loleaut32 -luuid

在这个代码块中

ILogonTrigger *pLogonTrigger = NULL;       
hr = pTrigger->QueryInterface( 
        IID_ILogonTrigger, (void**) &pLogonTrigger );
pTrigger->Release();
if( FAILED(hr) )
{
    printf("\nQueryInterface call failed for ILogonTrigger: %x", hr );
    pRootFolder->Release();
    pTask->Release();
    CoUninitialize();
    return 1;
}

它说ILogonTrigger并且IID_ILogonTrigger没有定义。我检查了我的头文件并尝试与我从其他编译器获得的文件交换,它变得更糟。如何对其进行编码以便我可以获得相同的用户登录触发器?

错误:

task.cpp:208:5: error: 'ILogonTrigger' was not declared in this scope
  208 |     ILogonTrigger *pLogonTrigger = NULL;
      |     ^~~~~~~~~~~~~
task.cpp:208:20: error: 'pLogonTrigger' was not declared in this scope; did you mean 'pTrigger'?
  208 |     ILogonTrigger *pLogonTrigger = NULL;
      |                    ^~~~~~~~~~~~~
      |                    pTrigger
task.cpp:210:13: error: 'IID_ILogonTrigger' was not declared in this scope; did you mean 'IID_ITaskTrigger'?
  210 |             IID_ILogonTrigger, (void**) &pLogonTrigger );
      |             ^~~~~~~~~~~~~~~~~
      |             IID_ITaskTrigger 

如果它可以帮助解决问题,这是我的头文件。

标签: c++winapitaskscheduled-tasks

解决方案


推荐阅读