【发布时间】:2018-09-20 11:34:18
【问题描述】:
我正在为 Revit 创建一个在其应用程序中注册多个事件的插件。
每次发生事件时,都会在 txt 文件中写入一行,告诉我该事件,例如:
用户在 Autodesk Revit 2019 上打开了一个文档 (...)
我通过获取应用程序的 MainWindowTitle 名称来获取“Autodesk Revit 2019”(应用程序名称),如下所示:Process.GetCurrentProcess().MainWindowTitle
public static string originalString = Process.GetCurrentProcess().MainWindowTitle;
(...)
Trace.WriteLine("O utilizador " + Environment.UserName + " abriu o " + originalString + " a " + DateTime.Now + " (ApplicationInitializedEventArgs)");
txt文件里面写的是:
O utilizador rita.aguiar abriu o a 20/09/2018 10:36:42 (ApplicationInitializedEventArgs)
如您所见,它并没有像我希望的那样在“o”和“a”之间写在 txt 文件“Autodesk Revit 2019 - [Home]”上。
如果我直接在Trace.WriteLine 上写Process.GetCurrentProcess().MainWindowTitle,我会得到“Autodesk Revit 2019 - [Home]”,但我希望写一个指定的名称。
如何通过为Process.GetCurrentProcess().MainWindowTitle指定名称来成功编写“Autodesk Revit 2019 - [Home]”?
稍后我想通过像这样仅获得 Autodesk Revit 2019 来获得此名称:
public static string originalString = Process.GetCurrentProcess().MainWindowTitle;
public static string[] splittedString = originalString.Split("-".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
public static string AppName = splittedString[0];
任何帮助将不胜感激!
【问题讨论】: