3.5、卸载一个应用程序

来源:互联网 发布:原油api数据怎么看 编辑:程序博客网 时间:2024/06/11 23:47

要卸载一个应用程序,你可以通过以下的几种方法:(如果它没有被锁定)

1、在应用程序里卸载一个应用程序使用AcRxDynamicLinker::unloadModule().函数。

2、使用APPLOAD对话框来卸载,这个界面给用户提供添加和删除应用程序的功能。

3、从AutoLISP里面的arxunload函数。

4、 使用ObjectARX里面的acedArxUnload函数。

5、使用选项和命令卸载应用程序。


默认情况下,应用程序是被锁住了并且不能别卸载,要定义可卸载的应用程序,应用程序必须保证AutoCAD和其他应用程序不再指向和引用应用程序中的结构或对象,在你是你的应用程序变成可卸载之前,你必须要保存没有静态的应用程序包含任何指向你程序空间的对象,要查看不能被卸载的应用程序,请参考3.2节卸载应用程序。

要使得你的应用程序可卸载,你需要存储AcRx::kInitAppMsg消息里面的pkt指针的值,这个参数将会被unlockApplication()函数使用,默认应用程序是锁定的,如果你解锁应用程序,它就能够被卸载,要锁住和解锁应用程序,使用下面的两个函数。

boolAcRxDynamicLinker::lockApplication(void* pkt) const;boolAcRxDynamicLinker::unlockApplication(void* pkt) const;
下面的函数检查应用程序是否被锁住

boolAcRxDynamicLinker::isApplicationLocked(const char* name) const;
还提供了类似的全局函数:

boolacrxLockApplication(void* pkt);boolacrxUnlockApplication(void* pkt);boolacrxApplicationIsLocked(const char* modulename);




0 0
原创粉丝点击