如何得到ARX所在的路徑
同上 调用API函数回复
8. 得到当前ARX模块所在路径的方法1, 2:<BR> 方法1: --------------------------------------------------------------<BR> CString g_appPath; //全局变量,存储ini文件路径<BR> //取得ARX模块路径<BR> TCHAR appFullPath;<BR> int len = GetModuleFileName(_hdllInstance, appFullPath, MAX_PATH); // 可以得到ARX模块的路径, 如果第1个参数设置为NULL, 将返回acad.exe的路径!g_appPath = appFullPath;<BR> g_appPath = g_appPath.Left(g_appPath.ReverseFind('\\'));
方法2: --------------------------------------------------------------<BR> CString appFileName = acedGetAppName();
char dir, drive, path;<BR> _splitpath(appFileName, drive, dir, NULL, NULL);<BR> _makepath(path, drive, dir, NULL, NULL);<BR> g_appPath = path; GetModuleFileName得到的是acad.exe的路径.
acedGetAppName没试,下午试下 不是的,你在ARX模块中用
int len = GetModuleFileName(_hdllInstance, appFullPath, MAX_PATH);
第一个参数是0或NULL,才返回的是acad.exe的路径, 而用_hdllInstance,将返回ARX路径!
如果是用ObjectARX Wizard创建的ARX工程, 第一个参数直接用_hdllInstance就可以了.
或者: char szPath = {0};<BR>GetModuleFileName(0, szPath, 256); // 注意第一个参数<BR>*(strrchr(szPath, '\\') + 1) = 0; AfxMessageBox(szPath); sorry,没注意......
页:
[1]