佚名通过本文主要向大家介绍了com组件,com组件是什么,com组件下载,com组件注册,com组件编程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 在COM组件中如何获得它本省所在的路径?
描述:
解决方案1:
描述:
我写了一个组件(DLL),现在想要在其中获得这个DLL所在的路径(可以不包括文件名),我使用了GetCurrentDirectory,但获得的是调用这个组件的客户程序的路径,不是我想要的,还有没有其他办法啊?
在注册这个组件的时候好像也要用到这个组件的路径,那是怎么获得的呢?有没有办法把引用?
多谢了,急用。
解决方案1:
CString curdir;
::GetModuleFileName(::AfxGetInstanceHandle (),curdir.GetBuffer (_MAX_PATH),_MAX_PATH);
curdir.ReleaseBuffer();
=====================
在com中调AfxGetInstanceHandle 来取得instance可不是很好呀。
再加一句取其路径
curdir=curdir.Left(curdir.ReverseFind (_T('\\')));
CString curdir;
::GetModuleFileName(::AfxGetInstanceHandle (),curdir.GetBuffer (_MAX_PATH),_MAX_PATH);
curdir.ReleaseBuffer();
通过查询注册表,应该可以获得的。