• 做个小插件(打开Part路径插件)


     1 (CAIDAN.men)
     2 VERSION 170                                   
     3 EDIT UG_GATEWAY_MAIN_MENUBAR           
     4                       
     5 AFTER UG_HELP
     6     CASCADE_BUTTON TOOLS                
     7     LABEL 工具 
     8 END_OF_AFTER
     9 
    10 MENU TOOLS
    11         CASCADE_BUTTON PROGRAMMER
    12         LABEL 程序相关
    13 
    14         CASCADE_BUTTON KFTOOLS
    15         LABEL 开发帮助相关
    16 END_OF_MENU
    17 
    18 MENU PROGRAMMER      
    19 43 
    20         BUTTON CAIDAN_1                                 
    21         LABEL 打开Prt路径 
    22         MESSAGE 打开Prt路径,没有Prt时,打开UGII
    23         BITMAP folder_prt
    24         ACTIONS create_folder
    25 109 
    26 END_OF_MENU 
    27 
    28 MENU KFTOOLS
    29     
    30         BUTTON CAIDAN_12                                
    31         LABEL
    32         MESSAGE
    33         ACTIONS    
    34 
    35 
    36 END_OF_MENU
    1 (GONGJT.TBR)
    2 TITLE 编程工具                                   
    3 VERSION 170                                         
    4 DOCK TOP                                            
    5                                     
    6 BUTTON   CAIDAN_1                                   
    7 LABEL    打开Prt路径                                      
    8 BITMAP   folder_prt

    以上是挂菜单和工具条显示。可以创建文件夹“Startup”,.dll的文件可以放在文件夹“Application”中

     1 //此函数功能是输入工作部件的tag,返回工作部件的路径
     2 static string path_name(tag_t path_tag)
     3 {
     4     char part_fspec[MAX_FSPEC_SIZE+1]="";
     5     //得到工作部件的路径
     6     UF_PART_ask_part_name(path_tag,part_fspec);
     7     //拆分字符串
     8     string s1_buffer=part_fspec;
     9     string path=s1_buffer.substr(0,s1_buffer.find_last_of("\"));//  注意此处应是"\"不能为""。
    10     return path;
    11 }
    12 
    13 extern DllExport void ufsta( char *param, int *returnCode, int rlen )
    14 {
    15     /* Initialize the API environment */
    16     if( UF_CALL(UF_initialize()) ) 
    17     {
    18         /* Failed to initialize */
    19         return;
    20     }
    21     
    22     /* TODO: Add your application code here */
    23     UF_initialize();
    24 
    25     //以下为函数对应内容
    26     tag_t work_part_tag=NULL_TAG;
    27     //获取当前工作部件的tag
    28     work_part_tag=UF_ASSEM_ask_work_part();
    29     //路径名称
    30     string name=path_name(work_part_tag);
    31     //打开文件夹
    32     ShellExecute(NULL,"open",NULL,NULL,name.c_str(),SW_SHOWNORMAL);
    33     
    34     UF_terminate();
    35     /* Terminate the API environment */
    36     UF_CALL(UF_terminate());
    37 }

    注意:ShellExecute测试成功 注意需要加 #pragma comment(lib,"Shell32") 注意需要调一下 项目-》属性-》常规-》字符集(改为未设置(原为unicode 字符集))

     头文件注意:  #include <Windows.h>  #pragma comment(lib,"Shell32")

  • 相关阅读:
    JS的(new Date()).toLocaleString,系统设置为24小时,仍然显示为12小时。
    js中获取时间new date()的用法
    Warning: require(): open_basedir restriction in effect. 宝塔错误
    未定义数组下标: 0
    layui 弹层组件文档
    TP5模版中的运算符
    tp5倒计时还有几天几时几分
    【原创】tp5软件过期提醒
    a标签的title属性 换行
    电子签章盖章之jQuery插件jquery.zsign
  • 原文地址:https://www.cnblogs.com/zzyfym/p/12038669.html
Copyright © 2020-2023  润新知