WEB开发网
开发学院图形图像AutoCAD AutoCAD二次开发程序的自动安装处理 阅读

AutoCAD二次开发程序的自动安装处理

 2006-04-03 09:48:26 来源:WEB开发网   
核心提示: 键值查询函数若运行成功,将返回长整型数ERROR_SUCCESS,AutoCAD二次开发程序的自动安装处理(3),下面可利用szData带回的路径名与已知路径名组合成全路径从而打开菜单文件acad.mnu添加内容:char szRootName[100]=\\support\\acad.m

键值查询函数若运行成功,将返回长整型数ERROR_SUCCESS。

下面可利用szData带回的路径名与已知路径名组合成全路径从而打开菜单文件acad.mnu添加内容:

char szRootName[100]=\\support\\acad.mnu;
if (ret=ERROR_SUCCESS)
1strcat((char*) szData, szRootName);

现在szData中装有acad.mnu的全路径,以下操作将打开该文件并添入内容:

HANDLE hfile=CreateFile((char*) szData, GENERIC_READ|GENERIC_WRITE, 0,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
If(hfile!=INVALID_HANDLE_VALUE)
{
if (0xFFFFFFFF!=SetFilePointer(hfile, 0, NULL, FILE_END))
{
char szBuf[1000]="\n***POP12\n**CAM\n[&CAM]\n[->基本参数]\n[卡盘原点]^c^cchuck_datam\n[换刀原点] ^c^ctool_datam\n[<-毛坯参数] ^c^cstock\n[工步设计] ^c^csteps\n[仿真加工] ^c^csimulation\n[代码生成] ^c^cgen_code\n[代码存盘] ^c^ccode_save\n[工艺存盘] ^c^csave_inf\n[工艺装入] ^c^cload_inf\n[->刀具管理]\n《创建新刀》 ^c^ccreate_new_tool\n[<-刀库增删] ^c^ctool_manage\n";
DWORD dwWrite=0;
BRet=WriteFile(hfile, szBuf, Lstrlen(szBuf), &dwWrite, NULL);
If (!bRet) Printerror();
}
CloseHandle(hfile);
}

上述操作中用CreateFile函数打开文件,SetFilePointer函数将指针移至文件末尾,字符串数组szBuf中装有欲添加的内容,以WriteFile函数写入,PrintError为自编的错误处理函数。

以同样的方法可以找到acad2000doc.lsp文件并添入内容。

以下操作将创建一个名为“C:\hkcam”的子目录,并将事先准备好的本程序所在目录下的所有文件拷贝进去:

Cstring nam1, nam2;
BOOL bCreate=CreateDirectory("C:\\hkcam", NULL);//创建子目录
CfileFind finder; //创建类对象
BOOL b Working=finder.FindFile("*.*");//利用类函数搜索所有文件
While(b Working)//循环搜索及文件拷贝
{
b Working=finder.FindNextFile();
nam1= finder.GetFileName();//获得文件名
nam2= " c:\\hkcam\\";
nam2=nam2+nam1;//组成全路径
BOOL bCopy=CopyFile(nam1, nam2, FALSE);//文件拷贝
}

所有操作成功后,以信息框告知:

MessageBox( NULL,“安装成功,请按OK钮继续”,“安装结果”,MB_OK);

整个程序以MFC静态链接库创建。上述所有内容可以写入一个源文件内,这里称其为Append.cpp。为使最终执行文件尽可能小,应删去程序框架中所有不需要的内容。为此,源文件中只保留Append.cpp,Append.rc,及StdAfx.cpp几项;而头文件中只有Append.h,Resource.h,及StdAfx.h几项。所定义的唯一派生类为class CappendApp:public CwinApp,置于Append.h之内。

三、结束语

在VC++环境下利用有关WINDOWS系统注册表操作函数获得AutoCAD系统的安装路径,从而找出并改写AutoCAD有关文件;创建子目录并拷入各种二次开发形成文件,由此实现了AutoCAD二次开发程序与AutoCAD系统的自动衔接与嵌入。文中程序已由实践验证,完全可用于AutoCAD二次开发程序的自动安装。

上一页  1 2 3 

Tags:AutoCAD 二次 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接