Я создал подключаемый модуль .dll для AutoCAD и CIVIL 3D.
Я пытаюсь получить первые элементы этих последовательностей:
«Autodesk AutoCAD 2019 — [Чертеж 1]» Я просто хочу получить «Autodesk AutoCAD 2019» (мне нужны первые 3 элемента) и «Autodesk CIVIL 3D 2019 — [Чертеж 1]» Я просто хочу получить «Autodesk CIVIL 3D 2019» . (мне нужны первые 4 элемента)
Я получаю эти последовательности, используя Process.GetCurrentProcess().MainWindowTitle
, который извлекает заголовок окна приложения, которое я использую в данный момент.
Однако иногда я использую AutoCAD, другие - CIVIL 3D, и я хочу получить имена их приложений в виде строк, отображаемых в окне сообщения, сообщающих мне, какое приложение я использую в данный момент.
Я пробовал с:
Process.GetCurrentProcess().MainWindowTitle.Substring(0, 22)
но это ненадежно, когда я отображаю окно сообщения при запуске AutoCAD или при закрытии. Это работает, только если я показываю окно сообщения между запуском и закрытием.
Я думаю, что я должен попробовать с:
Process.GetCurrentProcess().MainWindowTitle.Split.Take(4)
or
Process.GetCurrentProcess().MainWindowTitle.Take(4)
но я не могу заставить его работать, несмотря на то, что уже пытаюсь его понять (https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/linq/return-или-пропустить-элементы-в-...).
Как мне это сделать с Take???
Огромное спасибо!
Trim
результат. - person jmcilhinney   schedule 14.09.2018IndexOf
дляString
, содержащего символ, индекс которого вы хотите найти. ПолучитеMainWindowTitle
и назначьте его переменной, а затем используйте эту переменную столько раз, сколько вам нужно, т.е. вызовите для нееIndexOf
иSubstring
. - person jmcilhinney   schedule 14.09.2018