想在SDK的程序里打印html网页(50分) 好像用CHtmlView可以打印的,但我现在做的东西不想用MFC……大虾帮忙,有什么办法吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 昨天查了一整天,人们大多用的是COM组件……照猫画虎试了好多次,终于能印刷了“打印对话框”总是出来,大虾们真的没遇到过同样的事情么?我的代码:CComPtr<IWebBrowser2> pWebApp; // COM指针IE接口HRESULT hr = pWebApp.CoCreateInstance(CLSID_InternetExplorer); // 初始化pWebApp->put_Visible ( VARIANT_FALSE ); // 把IE藏起来CComVariant vempty, vUrl("E:\\0402250005.htm");pWebApp->Navigate2 ( &vUrl, &vempty, &vempty, &vempty, &vempty ); // 打开一个网页VARIANT_BOOL pBusy;do{ pWebApp->get_Busy(&pBusy); Sleep(1);}while(pBusy==VARIANT_TRUE);// 等IE忙完了的hr = pWebApp->ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER,&vempty,&vempty);//打印Sleep(2000); // 等待打印完事儿pWebApp->quit; // 把IE关了pWebApp.Release(); // 照猫画虎不知道为什么……管它呢总在ExecWB的地方出现对话框,烦死了……人家说OLECMDEXECOPT_DONTPROMPTUSER的意思是不出现对话框,但我怎么试都出现,哪位大虾纸点弥金啊另外下面的办法也试了:LPDISPATCH m_pDispatch = NULL; hr = pWebApp->get_Document(&m_pDispatch); IOleCommandTarget* pCmdTarg;hr = m_pDispatch->QueryInterface(IID_IOleCommandTarget, (void**)&pCmdTarg);hr = pCmdTarg->Exec(NULL,OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER,NULL,NULL);一样会出现对话框……啊,忘了说:我是在windows service的atl程序里调用的以上处理(不知道有没有关系) 分割窗口, 有个view不见了 VC怎么截图啊?用到哪几个函数? 本人想写一个ASP组件. 如何给函数想返回错误代码? TCP服务器不能向客户端发数据,请教~~~ 把类自己声明为友元类有何意义? 如何截取并分析网页里的内容. 请问如何用Winsock建立远程主机的IPC连接并从中读取信息 问一个很弱智的问题:VC的开发环境中打开的工作区等窗口的调整。 如何用鼠标HOOk编程 求助啊 如何删除文件夹啊 100分 如果获得按钮的ID VC中调用JAR文件的问题
照猫画虎试了好多次,终于能印刷了“打印对话框”总是出来,大虾们真的没遇到过同样的事情么?我的代码:CComPtr<IWebBrowser2> pWebApp; // COM指针IE接口
HRESULT hr = pWebApp.CoCreateInstance(CLSID_InternetExplorer); // 初始化
pWebApp->put_Visible ( VARIANT_FALSE ); // 把IE藏起来CComVariant vempty, vUrl("E:\\0402250005.htm");
pWebApp->Navigate2 ( &vUrl, &vempty, &vempty, &vempty, &vempty ); // 打开一个网页VARIANT_BOOL pBusy;
do{
pWebApp->get_Busy(&pBusy);
Sleep(1);
}while(pBusy==VARIANT_TRUE);// 等IE忙完了的hr = pWebApp->ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER,&vempty,&vempty);//打印Sleep(2000); // 等待打印完事儿
pWebApp->quit; // 把IE关了
pWebApp.Release(); // 照猫画虎不知道为什么……管它呢总在ExecWB的地方出现对话框,烦死了……人家说OLECMDEXECOPT_DONTPROMPTUSER的意思是不出现对话框,但我怎么试都出现,哪位大虾纸点弥金啊另外下面的办法也试了:
LPDISPATCH m_pDispatch = NULL;
hr = pWebApp->get_Document(&m_pDispatch); IOleCommandTarget* pCmdTarg;
hr = m_pDispatch->QueryInterface(IID_IOleCommandTarget, (void**)&pCmdTarg);
hr = pCmdTarg->Exec(NULL,OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER,NULL,NULL);一样会出现对话框……啊,忘了说:我是在windows service的atl程序里调用的以上处理(不知道有没有关系)