问题描述
我一直在努力使用OLE自动化将OneNote带到前台。当我运行以下代码时,OneNote将在后台加载,而我无法将其带到前台。尝试启动并将Word,Excel,PowerPoint和Edge放在前台时,我没有任何问题,但是OneNote的行为有所不同。关于使用OLE自动执行OneNote的信息很少,并且某些页面不再存在。
任何帮助将不胜感激。您可以从here
下载Onenote14-x86.h文件。#include "stdafx.h"
#include "onenote14-x86.h"
int _tmain(int argc,_TCHAR* argv[])
{
CoInitialize(NULL);
IApplication* piOneNote;
CoCreateInstance(__uuidof(Application),NULL,CLSCTX_LOCAL_SERVER,__uuidof(IApplication),(void**)&piOneNote);
if(piOneNote)
{
BSTR temp;
HRESULT hr = piOneNote->GetHierarchy(NULL,hsNotebooks,&temp);
}
}
解决方法
您可以通过此调用创建新窗口
piOneNote->NavigateTo(NULL,NULL,VARIANT_TRUE);