(---VC来实现---)
\查了很多资料,现在有两种说法.希望有更好的实现方法.
1. 创建文件关联,让双击word图标后,关联到我的程序中来打开这个word文件.可惜我太知道怎么修改注册表
2. 是不是可以用连接点来实现...不过不太理解.
恳请各位大哥能否协助一下......!!!!!!!!!!!!!!!!!
------解决方案--------------------------------------------------------
Office Addin可以做到,google一下IDTExtensibility2这个单键字
------解决方案--------------------------------------------------------
用vs建立一个共享的外接程序,然后在提示中选择word。
建立的这个工程可以满足楼主的要求,不过过程比较复杂,楼主可以去MSDN上搜嗽相关的资料!
------解决方案--------------------------------------------------------
在你的程序里开启一个线程,不停查看系统是否运行word
CLSID clsid;
HRESULT hr;
hr=::CLSIDFromProgID(L"Word.Application",&clsid);
IUnknown *pUnknown=NULL;
IDispatch *pDispatch=NULL;
_Application app=NULL;
Selection sel=NULL;
//查找是否有WORD程序在运行
hr=::GetActiveObject(clsid,NULL,&pUnknown); if(FAILED(hr))
{
AfxMessageBox(_T("没有正在运行中的WORD应用程序"));
return;
}
try
{
hr=pUnknown->QueryInterface(IID_IDispatch,(LPVOID *)&app);
if(FAILED(hr)) throw(_T("没有取得IDispatchPtr"));
//这个app送给你了
}
catch(LPCTSTR lpErr)
{
AfxMessageBox(lpErr);
}