c++ - 如何使用 OLE 自动化启动 OneNote 并将其置于前台?
问题描述
我一直在努力使用 OLE 自动化将 OneNote 带到前台。当我运行以下代码时,OneNote 在后台加载,我无法将其带到前台。我在尝试启动 Word、Excel、PowerPoint 和 Edge 并将其置于前台时没有遇到任何问题,但 OneNote 的行为有所不同。关于 OneNote 使用 OLE 自动化的信息非常少,并且某些页面不再存在。
任何帮助,将不胜感激。您可以从这里下载 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);
推荐阅读
- aframe - aframe 状态组件:bind-for 不更新实体
- flutter - 我的代码有什么问题?它只显示黑屏
- verilog - 将参数传递给 Verilog 函数
- php - laravel如何连接两个表并获取数据?
- jquery - 使用 CSRF 令牌发布(内部服务器错误)
- javascript - 当 onFocus 触发时反应防止 onClick 触发
- arrays - 嵌套 JSON 与 powershell 中的列表和值
- c# - 按特定顺序编写 XML 属性和命名空间声明
- typescript - 如何修复“错误:数字仅指类型”,用户可以在 html 中包含端口
- javascript - 类参数和格式