當 COM 通過 CoCreateInstance() 啟動一個行程外服務器時,其 CLSID 源自 ProgId(例如 "Excel.Application"),這究竟是如何發生的?
當 COM 啟動一個新的 Excel 服務器時(如果一個服務器尚未運行),excel.exe 行程在后臺(任務管理器視窗的下部),而用戶界面無法訪問。我想復制這種情況。
我已經嘗試了這個簡單的方法。
我已經嘗試了這個簡單的代碼:
using namespace std;
int main()
{
string strApp{"C:Program FilesMicrosoft Office
ootOffice16EXCEL.EXE"}。
string strParams{"/automation /x"};
HINSTANCE hs = ShellExecuteA(NULL, "open", strApp. c_str(), strParams.c_str(), NULL, SW_HIDE)。)
但是在前臺彈出了Excel。
Win32 API是什么?
COM正在進行哪些Win32 API呼叫以在后臺啟動Excel?
uj5u.com熱心網友回復:
/e或/embed
防止出現 Excel 啟動螢屏和打開一個新的空白作業簿。
示例
excel.exe /e
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/320299.html
標籤:

