DOC.SetVariable "FILEDIA", 0
DOC.SetVariable "BACKGROUNDPLOT", 0
DOC.SendCommand "-PUBLISH" & vbCr & dsd_dwf
SendKeys "{ENTER}", True
DOC.SendCommand "-PUBLISH" & vbCr & dsd_pdf
SendKeys "{ENTER}", True
Я так понимаю мне нужно сделать: SendKeys "{ENTER}", True
Я так понимаю мне нужно сделать:Попробуй. Во всяком случае это будет полная эмуляция того, что ты делаешь вручную.
Код: [Выделить]
SendKeys "{ENTER}", True
Срабатывает только если фокус перед вызовом keybd_event установить в окне автокада (сделать его активным)И в чем проблема? Я вообще не понял задачу. Это вообще ObjectARX приложение или внешний exe-файл, который через ActiveX/COM управляет AutoCAD?
acedCommand(RTSTR , _T("-ЭКСПОРТ") , RTSTR , _T("pdf") ,RTSTR , _T("Тек") ,RTSTR , _T("Нет") , RTSTR , _T("C:\\Obrab\\temp.pdf"), 0);
Через раз автокад падает с ошибкой. Точнее будет: иногда срабатывает.acDocManager->sendStringToExecute(acDocManager->curDocument(), _T("-ЭКСПОРТ pdf Тек Нет C:\\Obrab\\temp.pdf\n"))
- эффект тот же.
/*Теперь будем сохранять в PDF а потом в JPEG(сразу в JPEG сохраняет очень плохо)*/
pApp->Documents->Open(_bstr_t(lpszFileName));
WAIT_ACAD;
fputws (_T("Opening document "),errFile);
fputws (lpszFileName,errFile);
MessageBox(NULL , _T("1") , _T("DWGtoJpeg") , MB_OK);
pApp->ActiveDocument->SendCommand(_bstr_t("ToTop \n"));
WAIT_ACAD;
MessageBox(NULL , _T("2") , _T("DWGtoJpeg") , MB_OK);
pApp->ActiveDocument->Close();
WAIT_ACAD;
.
.
.
void ToTop()
{
acedCommand(RTSTR , _T("-ЭКСПОРТ") , RTSTR , _T("pdf") ,RTSTR , _T("Тек") ,RTSTR , _T("Нет") , RTSTR , _T("C:\\Obrab\\temp.pdf"), 0);
}