在UG5.0开始,所有开发的DLL都要“签名”后才能被客户端上正版的NX调用。

1. 如果是基于c++开发的dll,使用如下方法可以顺利签名成功(这里借用网上现有的文字和图片)

1.1.在cpp文件中需要添加头文件

#include <NXSigningResource.cpp>

2.1.启动NX Tools的DOS命令行,进入NX安装目录的UGOPEN下,运行nxsign xxx.dll,其中的xxx.dll应该包含全路径,如下图。这里的nxsign是UGOPEN目录下的nxsign.exe软件,为c++的dll签名的软件。如果签名成功,提示信息也如下。注意nxsign.exe只能用在NX8.0之前的版本,在NX8.5之后用的是signcpp.exe,因此命令行需要写成 signcpp xxx.dll

其实不用这么麻烦,直接找到signcpp.exe文件,将多个dll拖到signcpp.exe上就可以签名了:

缺点是也不知道签名成功了没有,有没有报错啊等等,为了解决这个问题,还得靠自己勤劳的双手,顺手写个脚本。

批处理源码(将源码拷到文本,扩展名改为.bat,按照下面这个动画使用,其他NX版本照葫芦画瓢改改也能用):

@echo off
title 正版批量签名工具 by 王牌飞行员_里海 20201124
if "%1"=="" (
echo 请用拖文件形式运行!
ping 127.1>nul&exit/b) echo 正在签名...
for %%i in (%*)do (
echo.
echo.
echo 签名%%i :
"%UGII_BASE_DIR%\NXBIN\signcpp.exe" %%i
)
echo.
echo.
echo.
pause ::NX8.5 "C:\Program Files\Siemens\NX 8.5\UGOPEN\signcpp.exe" %%i
::NX11.0 "C:\Program Files\Siemens\NX 11.0\UGOPEN\signcpp.exe" %%i
::NX12.0 "%UGII_BASE_DIR%\NXBIN\signcpp.exe" %%i
::NX12.0 "D:\Program Files\Siemens\NX 12.0\NXBIN\signcpp.exe" %%i
::NX10.0 "D:\Program Files\Siemens\NX 10.0\UGOPEN\signcpp.exe" %%i

效果:

舒服~~~~~~

部分参考:https://www.ugapi.com/thread-5896.html

【NX二次开发】批量数字签名的方法,解决自己电脑编译的dll在用户正版NX无法使用的问题的更多相关文章

  1. 【NX二次开发】切换模块的方法,切换到制图模块

    源码(NX12.0): Session theSession = NXOpen::Session::GetSession(); theSession->ApplicationSwitchImme ...

  2. NX二次开发-NXString转换为char*方法

    NX9+VS2012 #include <uf.h> #include <uf_drf.h> #include <NXOpen/Annotations_Note.hxx& ...

  3. 【NX二次开发】根据根据坐标系、对象旋转视图旋转视图uc6434

    uc6434 (); //旋转视图 参数1:如果输入""则旋转当前工作视图参数2:1.按照ABS旋转视图.2.按照WCS选择视图.3.按照参数3旋转视图.4.按照参数4旋转视图参数 ...

  4. 【NX二次开发】NX内部函数,查找内部函数的方法

    [NX二次开发]NX内部函数,libufunx.dll文件中的内部函数 [NX二次开发]NX内部函数,libugui.dll文件中的内部函数 [NX二次开发]NX内部函数,libuifw.dll文件中 ...

  5. NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))

    NX二次开发API里没有对EXCAL读写操作的相关函数,市面上有很多种方法去实现,比如UFUN调KF,ODBC,OLE(COM组件)等等.这里我是用的OLE(COM组件)方式去做的,这种在VC上创建的 ...

  6. NX二次开发-BlockUI对话框嵌套MFC对话框制作进度条

    半年前在一些QQ群看到有大神NX二次开发做出了进度条,那个时候我还不会弄,也不知道怎么弄得,后来断断续续得研究了一下,直到今天我把它做出来了.内心还是很喜悦的!回想自己这两年当初从没公司肯给我做NX二 ...

  7. NX二次开发-UDO用户自定义对象(UFUN)【持续完善】

    每当提起UDO总是会让我想起大专毕业那会失业找工作,后来有个宝贵机会去了软件公司上班,拿到了我人生中的第一个NX二次开发项目,一个关于测量汽车前后左右摄像头的项目.当时那个项目就用到了UDO,对于只看 ...

  8. NX二次开发-UFUN计算两点距离UF_VEC3_distance

    NX11+VS2013 #include <uf.h> #include <uf_curve.h> #include <uf_vec.h> UF_initializ ...

  9. NX二次开发-NX+VS写代码设断点调试技巧

    在做NX二次开发的时候写完代码,编译可以通过,但是执行的时候却没有反应,或者得到的结果不对,说明肯定有地方传值出错了.我在查找代码错误的时候有几种方法:1.uc1601打印函数输入和输出的值看对不对. ...

随机推荐

  1. 【翻译】WPF中的数据绑定表达式

    有很多文章讨论绑定的概念,并讲解如何使用StaticResources和DynamicResources绑定属性.这些概念使用WPF提供的数据绑定表达式.在本文中,让我们研究WPF提供的不同类型的数据 ...

  2. MySQL中几种常见的日志

    前言: 在 MySQL 系统中,有着诸多不同类型的日志.各种日志都有着自己的用途,通过分析日志,我们可以优化数据库性能,排除故障,甚至能够还原数据.这些不同类型的日志有助于我们更清晰的了解数据库,在日 ...

  3. “可变的”tuple

    来看一个"可变的"tuple: >>> t = ('a', 'b', ['A', 'B']) >>> t[2][0] = 'X' >> ...

  4. Beta设计和计划 —— NameNotFound

    需求再分析 1. 用户群体 经过用户(大多数是同学)的反馈,我们发现大家其实并不是十分明确我们要做的到底是什么.具体要怎么用.而实际上我们的典型用户也并不是学生群体,因此出现这些偏差也是很正常的,毕竟 ...

  5. Jmeter(四十四) - 从入门到精通高级篇 - Jmeter远程启动(本地运行+远程运行)(详解教程)

    1.简介 这篇文章其实很简单,就是为下一篇文章做一个铺垫,所以宏哥给小伙伴或童鞋们提前热身一下. 2.什么是远程运行? 远程执行,就是脚本放在本地,执行却在另一台电脑上执行,当然,可以是远程多台电脑一 ...

  6. path自定义转换器

    register-converter用于注册转换器

  7. shell脚本常用语法详解

    逻辑控制 if 语法:注意空格 a=1b=2if [ $a == $b ]then    echo "a==b"elif [ $a -gt $b ]then    echo &qu ...

  8. laravel 伪静态实现

    Route::get('show{id}.html',['as'=>'products.detail','uses'=>'companyController@show']) ->wh ...

  9. oracle 碎片管理和数据文件resize释放表空间和磁盘空间(以及sys.wri$_optstat_histgrm_history过大处理)

    随着互联网的快速发展,各行各业的数据量也是与日俱增,而数据库的数据量也是直线增长,但是,如果表DML太多,则可能会在高水位线以下出现太多空白. 因此,只能将数据文件缩小到高水位线,因为高水位线以下有一 ...

  10. Windows10 添加 新的输入法

    Windows10系统 控制面板 区域 语言首选项 设置 添加 陈桥输入法