PLM之家PLMHome

[二次开发源码] 【NX二次开发源码分享】关闭NX后,做点儿事

  [复制链接]

2023-1-10 20:46:56 2235 3

admin 发表于 2018-7-12 11:12:47 |阅读模式

admin 楼主

2018-7-12 11:12:47

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有帐号?注册

x

* H: F0 r8 v7 z; uNX二次开发源码分享】关闭NX后,做点儿事
9 U! M& E6 G, E& W8 a& L2 h" W# H
4 ]. K' j& e8 \! g* X( v
[C] 纯文本查看 复制代码
/*

    ufusr_ask_unload is invoked immediately following the completion of ufusr
    (or ufsta when the dll is run from a startup folder) to find out when you
    want the dll to be unloaded.  If ufusr_ask_unload returns
    UF_UNLOAD_UG_TERMINATE, the ufusr_cleanup is called right before the dll is
    unload when NX is terminating.  To prove to yourself that this works, set
    the environment variable UGII_KEEP_SYSTEM_LOG=1 so that the syslog will not
    automatically be cleaned up when NX terminates.  Start NX.  Use Help-> NX
    Log File and make a note of the full path to the syslog which will be shown
    as its own first line.  Run the dll built from this code (nothing noticable
    will happen.)  Exit NX.  Find the syslog and open it in any text editor to
    see this line near the bottom:

NX is shutting down - running ufusr_cleanup

*/
#include <stdio.h>
#include <string.h>
#include <uf.h>
#include <uf_ui.h>
#include <uf_exit.h>

#include <stdarg.h>

static void ECHO(char *format, ...)
{
    char msg[UF_UI_MAX_STRING_LEN+1];
    va_list args;
    va_start(args, format);
    vsprintf(msg, format, args);
    va_end(args);
    UF_UI_open_listing_window();
    UF_UI_write_listing_window(msg);
    UF_print_syslog(msg, FALSE);
}

#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))

static int report_error( char *file, int line, char *call, int irc)
{
    if (irc)
    {
        char err[133];

        UF_get_fail_message(irc, err);
        ECHO("*** ERROR code %d at line %d in %s:\n",
            irc, line, file);
        ECHO("+++ %s\n", err);
        ECHO("%s;\n", call);
    }

    return(irc);
}

/*ARGSUSED*/
void ufusr(char *param, int *retcode, int paramLen)
{
}

/*ARGSUSED*/
void ufsta(char *param, int *retcode, int paramLen)
{
}

int ufusr_ask_unload(void)
{
    return (UF_UNLOAD_UG_TERMINATE);
}

void ufusr_cleanup(void)
{
    ECHO("NX is shutting down - running ufusr_cleanup\n");

    /* put your code here */
}

8 c2 q5 J% ?" E
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复3

licxsw 发表于 2019-12-25 08:49:24

licxsw 沙发

2019-12-25 08:49:24

请问这个函数是怎么用的?有什么用?
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

admin 发表于 2020-2-13 08:43:55

admin 板凳

2020-2-13 08:43:55

licxsw 发表于 2019-12-25 08:49
' b1 v( v' W  J8 C请问这个函数是怎么用的?有什么用?
+ x- M  q; t; }+ g4 B. P( {. C
入口函数 改成 ufusr_cleanup * h1 I9 R9 E" _7 Z
! o5 ~. Z  H# S, b3 G
意思是 NX 程序退出后,你可以做些事情 ,具体做啥可以自己写,就是个入口
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

licxsw 发表于 2023-1-10 20:46:56

licxsw 地板

2023-1-10 20:46:56

测试了 ufusr_cleanup入口处复制文件到指定目录下,不成功
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

:
管理员
:
xduniverse@qq.com
:
点击这里给我发消息
:
http://www.plmhome.com
:
原西门子NX高级教务员,10多年NX培训,开发咨询,Teamcenter培训实施等

主题2423

帖子3687

积分74934

图文推荐

  • Tecnomatix 二次开发入门教程 6 实现打开PL

    Tecnomatix 二次开发入门教程 6 实现打开PLM之家

  • 官方文档,NX12 使用 Python进行二次开发相

    官方文档,NX12 使用 Python进行二次开发相关配

  • Tecnomatix 二次开发入门教程 4 设置图标

    Tecnomatix 二次开发入门教程 4 设置图标效果如

  • Teamcenter12.0 汽车解决方案TcAE 入门教程

    Teamcenter12.0 汽车解决方案TcAE 入门教程 *

  • Tecnomatix 二次开发入门教程 5 创建Tecnom

    Tecnomatix 二次开发入门教程 5 创建Tecnomatix

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    PLM之家(plmhome.com)提供专业的实施-开发-培训

    扫码关注,海量教程免费学习,不断更新!

    关注plm之家plmhome公众号

    哥已知晓