gpt4 book ai didi

c++ - 如何将 Win32 GUI 应用程序作为后台进程启动?

转载 作者:行者123 更新时间:2023-12-04 21:44:38 27 4
gpt4 key购买 nike

当 COM 通过 CoCreateInstance() 使用从 ProgId 派生的 CLSID(例如“Excel.Application”)启动进程外服务器时,这究竟是如何发生的?
我可以在注册表中看到提供命令行的条目:
enter image description here
当 COM 启动一个新的 Excel 服务器(如果尚未运行),excel.exe进程在后台(任务管理器窗口的下部),UI 无法访问。我想复制这个。
我试过这个简单的代码:

#include <iostream>
#include <windows.h>

using namespace std;
int main()
{
string strApp{"C:\\Program Files\\Microsoft Office\\root\\Office16\\EXCEL.EXE"};
string strParams{"/automation /x"};

HINSTANCE hs = ShellExecuteA(NULL, "open", strApp.c_str(), strParams.c_str(), NULL, SW_HIDE);
}
但在前台弹出Excel。
COM 调用什么 Win32 API 来在后台启动 Excel?

最佳答案

Command-line switches for Microsoft Office products
/e /嵌入
防止出现 Excel 启动屏幕和打开新的空白工作簿。
例子
excel.exe/e

关于c++ - 如何将 Win32 GUI 应用程序作为后台进程启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69046232/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com