请选择 进入手机版 | 继续访问电脑版

唐康林NX二次开发论坛

 找回密码
 立即注册
搜索
热搜: nxopen ufun
查看: 721|回复: 1

[技术分享] 利用UFUN函数调用录制宏文件的方法!

[复制链接]

536

主题

705

帖子

3026

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3026
发表于 2016-9-30 21:58:35 | 显示全部楼层 |阅读模式
文/唐康林 独家原创 QQ125317589
源代码:
  1. void MyClass::UFUN_API_Call_Macro( char* macroname )
  2. {
  3.         //获取环境变量
  4.         std::ostringstream tempstring;
  5.         tempstring << theSession->GetEnvironmentVariableValue("UGII_BASE_DIR").GetLocaleText() << "\\NXBIN\\libugui.dll";
  6.         std::string convertvalue = tempstring.str();

  7.         //调系统命令
  8.         typedef void(*load_ufusr_f_p_t)(char* filepath);
  9.         load_ufusr_f_p_t MACRO_playback_from_usertool = NULL;
  10.         UF_load_library(convertvalue.c_str(), "?MACRO_playback_from_usertool@@YAXPEBD@Z", (UF_load_f_p_t *)&MACRO_playback_from_usertool);

  11.         //获取宏的路径
  12.         tempstring.str("");
  13.         tempstring.clear();
  14.         tempstring << theSession->GetEnvironmentVariableValue("UGII_BASE_DIR").GetLocaleText() << "\\TKLTOOLS\\Macro\\"<<macroname;
  15.         convertvalue = tempstring.str();

  16.         //转换字符串
  17.         int strlength = (int)strlen(convertvalue.c_str());
  18.         char* marcoPath = new char[strlength + 1];
  19.         strcpy(marcoPath, convertvalue.c_str());

  20.         //调用宏
  21.         if (MACRO_playback_from_usertool != NULL)
  22.         {
  23.                 MACRO_playback_from_usertool(marcoPath);
  24.         }

  25.         //清空字符串
  26.         tempstring.str("");
  27.         tempstring.clear();
  28. }
复制代码
网上别人可能写得有点不一样,他们用到的是:
typedef void (*load_ufusr_f_p_t)(char* param, int* retcode, int paramLen);
但我看系统的文件中,貌似可以直接写一个字符串。
libugui_macro.png

回复

使用道具 举报

0

主题

6

帖子

33

积分

潜龙勿用

Rank: 1

积分
33
发表于 2018-1-9 08:48:22 | 显示全部楼层
这个案例的意思是?
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋| ( 蜀ICP备16014681号

GMT+8, 2018-6-24 06:00 , Processed in 0.081659 second(s), 26 queries .

Powered by www.nxopen.cn

© 2001-2013 nxopen.cn

快速回复 返回顶部 返回列表