zoukankan      html  css  js  c++  java
  • 【NX二次开发】批量数字签名的方法,解决自己电脑编译的dll在用户正版NX无法使用的问题

    在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%NXBINsigncpp.exe" %%i
         )  
    echo.
    echo.
    echo.
    pause
    
        ::NX8.5 "C:Program FilesSiemensNX 8.5UGOPENsigncpp.exe" %%i
        ::NX11.0 "C:Program FilesSiemensNX 11.0UGOPENsigncpp.exe" %%i
        ::NX12.0 "%UGII_BASE_DIR%NXBINsigncpp.exe" %%i
        ::NX12.0 "D:Program FilesSiemensNX 12.0NXBINsigncpp.exe" %%i
        ::NX10.0 "D:Program FilesSiemensNX 10.0UGOPENsigncpp.exe" %%i

    效果:

    舒服~~~~~~

     

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

  • 相关阅读:
    java实现第四届蓝桥杯组素数
    java实现第四届蓝桥杯组素数
    java实现第五届蓝桥杯斐波那契
    java实现第五届蓝桥杯斐波那契
    java实现第五届蓝桥杯斐波那契
    java实现第五届蓝桥杯斐波那契
    Spring boot随时获取ApplicationContex
    JAVA数据库连接池的革命 -- 从BoneCP到HikariCP(转)
    spring boot自动配置之jdbc(转)
    spring boot 的 ApplicationContext 及 getbean
  • 原文地址:https://www.cnblogs.com/KMould/p/14028715.html
Copyright © 2011-2022 走看看