方法1
使用windows api SetWindowText
这个方法是2018年的时候,七少大哥告诉我的,
以前七少大哥也蛮热爱交流技术的,同时也是个喜欢交流分享的人。
这两年倒是很少看到他了。
在博客上贴他的代码,当年也是征求过他的。
这个思路是:先获得NX的窗口句柄,然后通过句柄设置对话框标题内容,用ufstar入口函数,在加个定时器进行实时更新。
编译出来的dll,直接放到二次开发文件夹startup里,启动ug就会自动加载了。
/***************************************************************************** ** 文件名:【NX10_Open_Wizard1.cpp ** NX 10.0二次开发C/C++初始模板 By七少(QQ/微信:70075260,Mail:70075260@qq.com) ** 版本:A,模板修订日期:2018/12/24 *****************************************************************************/ //编译之后将dll文件放在二次开发目录的startup的目录内 /*头文件,命名空间,宏定义*/ #include <stdarg.h> #include <strstream> #include <iostream> using std::ostrstream; using std::endl; using std::ends; using std::cerr; #include <uf.h> #include <uf_ui.h> #include <uf_assem.h> #include <uf_part.h> #include <uf_exit.h> #include <afxwin.h> #include <windows.h> #include <shellapi.h> #include <winuser.h> #include <atlstr.h> #pragma comment(lib, "User32.lib") #pragma warning(disable:4267) /*获取当前NX软件环境*/ static void ECHO(char *format, ...) { char msg[UF_UI_MAX_STRING_NCHARS+1]; va_list args; va_start(args, format); vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_NCHARS, 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: ", irc, line, file); ECHO("+++ %s ", err); ECHO("%s; ", call); } return(irc); } //char*转wchar_t wchar_t* CharToWchar(char* c) { wchar_t *m_wchar; int len = MultiByteToWideChar(CP_ACP,0,c,strlen(c),NULL,0); m_wchar = new wchar_t[len + 1]; MultiByteToWideChar(CP_ACP,0,c,strlen(c),m_wchar,len); m_wchar[len] = '