C++ c++;初始化Adobe Reader自动化
我在下面展示了打开AdobeReader的代码。我从中得到灵感 每次adobe reader未打开且DdeConnect返回null时,我都会收到DDE连接失败的消息。我的Adobe阅读器是:Adobe Reader席,版本11。您知道如何帮助我连接到adobe reader吗 <>我必须使用纯C++和Win32 API。< /P>C++ c++;初始化Adobe Reader自动化,c++,winapi,pdf,adobe,ole,C++,Winapi,Pdf,Adobe,Ole,我在下面展示了打开AdobeReader的代码。我从中得到灵感 每次adobe reader未打开且DdeConnect返回null时,我都会收到DDE连接失败的消息。我的Adobe阅读器是:Adobe Reader席,版本11。您知道如何帮助我连接到adobe reader吗 我必须使用纯C++和Win32 API。< /P> iReturn = DdeInitialize(&this->dwIdInst, (PFNCALLBACK)DdeCallback, AP
iReturn = DdeInitialize(&this->dwIdInst, (PFNCALLBACK)DdeCallback,
APPCLASS_STANDARD | APPCMD_CLIENTONLY, 0 );
/*Start the DDE server*/
hRet = ShellExecute(0, "open", this->stPdfFileName.c_str(), 0, 0, SW_SHOWNORMAL);
/*Connect to server*/
HSZ hszApp, hszTopic;
char szApp[] = "acroviewR11"; // Also I tried acroviewA11
char szTopic[] = "control";
hszApp = DdeCreateStringHandle(this->dwIdInst, szApp, 0);
hszTopic = DdeCreateStringHandle(this->dwIdInst, szTopic, 0);
this->hConv = DdeConnect(this->dwIdInst, hszApp, hszTopic, NULL);
DdeFreeStringHandle(this->dwIdInst, hszApp);
DdeFreeStringHandle(this->dwIdInst, hszTopic);
if (this->hConv == NULL) {
printf("DDE Connection Failed.\n");
Sleep(1500);
DdeUninitialize(this->dwIdInst);
}
更新
我不想只打开文档。多亏了AdobeReaderAutomation,我想自动化一些东西,如添加的链接upper中所示
我也尝试过这样的代码:
DdeInitialize(&id, &DDE_ProcessMessage, APPCMD_CLIENTONLY, 0);
hszServerName = DdeCreateStringHandle(id, "Acrobat Search", 0);
hszTopicName = DdeCreateStringHandle(id, "Acrobat Search", 0);
hConv = DdeConnect(id, hszServerName, hszTopicName, NULL);
但是这对我没有帮助。用“AcroViewR11”代替“AcroViewR11”。用“AcroViewR11”代替“AcroViewR11”。只需对动词使用
ShellExecuteEx
withNULL
。如果Acrobat Reader是默认的PDF查看器,它将打开。这对我没有帮助,因为我想下一步自动化adobe Reader。例如,自动关闭文档、保存文档以及添加的简单包装器链接中提到的一些其他内容只需将ShellExecuteEx
与NULL
用作动词即可。如果Acrobat Reader是默认的PDF查看器,它将打开。这对我没有帮助,因为我想下一步自动化adobe Reader。例如,自动关闭文档、保存文档以及添加的简单包装器链接中提到的一些其他内容