在UG二次开发过程中我们需要为第三方插件配置环境变量让UG可以找到对应的文件,UG为用户提供的环境变量有:UGII_VENDOR_DIR、UGII_SITE_DIR、UGII_USER_DIR、UGII_GROUP_DIR(级别依次递减)。在电脑中添加环境变量只要右键点击我的电脑->属性->高级设置->环境变量,我们只需添加UGII_USER_DIR变量。
我们将开发好的插件(定制的菜单、工具栏、对话框、功能函数dll等文件)一起打包给用户,当用户拿到文件后可以放置在任意目录,然后右键点击我的电脑->属性->高级设置->环境变量,将当前目录添加给变量UGII_USER_DIR即可。为方便用户使用,我写个一个简单的设置环境变量程序SetUGEnv.exe,双击该应用就可以实现将当前目录配置到UGII_USER_DIR变量。
获取系统当前目录操作很简单,这里我们要做的就是获取到当前文件存放目录,然后将该目录添加到环境变量中,这里我添加了一个判断,那就是如果该变量已经存在则提示用户变量值并提示是否继续配置环境变量。用到的头文件为#include <Windows.h>,获取当前目录我们可以使用GetCurrentDirectory(MAX_PATH,path)方法,返回操作系统的当前目录,参数有两个分别是指定缓冲区的长度和存储路径的字符串空间。
获取注册表信息在设置环境变量之前我们现获取下环境变量中是否已存在UGII_USER_DIR变量,如果存在则告诉用户该变量指向哪个目录,这样用户只需要将我们的插件拷贝至相应目录即可,用户也可以选择是否继续注册当前目录给UGII_USER_DIR变量。查询注册表用到的是RegQueryValueEx方法,同样来至头文件#include <Windows.h>。