任务计划程序 IID_ILogonTrigger 未定义

时间:2021-02-09 10:00:54

标签: c++ winapi task scheduled-tasks

我从 MSDN 中找到了一个 sample code,它会在用户登录时触发 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;
}

它说 ILogonTriggerIID_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 

这是my header file,如果它可以帮助解决问题。

0 个答案:

没有答案
相关问题