Active window name

Active window name

Anonymous
Not applicable
1,492 Views
6 Replies
Message 1 of 7

Active window name

Anonymous
Not applicable

Hi everybody!

 

whats the best way (in c#) to get the active window name? (for example the name of the drawing window, the name of the main app window, etc...)

 

if possible without using the windows api..

 

thank you

 

best regards

 

Frigo

0 Likes
Accepted solutions (2)
1,493 Views
6 Replies
Replies (6)
Message 2 of 7

Joe.Ye
Alumni
Alumni
Accepted solution

 

Hi Frigo,

 

Are your talking about Revit? And want to get the Revit's active view's name and Revit main frame name?

 

The simplest way to get the active Revit view name is: 

 

View class name + ": " + view name + " - " + ProjectName.

 

 

For example: Floor Plan: 2 - Mech - Project1

 

Floor Plan is the view class name.

Project1 is the project name.

 

The active view name can be easily get by : doc.ActiveView.Name property.

 

 

With regard to get the Revit's main app name, there is no straightforward Revit APi can be used. You need to resort to the windows API, I think.

 

 



Joe Ye
Contractor
Developer Technical Services
Autodesk Developer Network
0 Likes
Message 3 of 7

Revitalizer
Advisor
Advisor

Hi all,

 

if talking about the main window, the title displayed consists also of product type and year, which can be got by Application.VersionName and Application.VersionNumber.

Window title may change to a shorter string if window is resized.

Also, in a zero-document state, title looks like "[Recent files]", but this depends on Revit's current language.

 

 

Cheers,

Revitalizer




Rudolf Honke
Software Developer
Mensch und Maschine





Message 4 of 7

Joe.Ye
Alumni
Alumni

 

Hi Revitalizer,

 

Good idea to compose the caption string. Normally this should work fine to get the correct string.

 

However there are situations the caption is different. For example, the Revit used by the ADN partners, there is a sub-string  "Not for resale version" in the caption string, the other parts are the same. There maybe some other situations, for example , the Revit education version.

 

Cheers,

 



Joe Ye
Contractor
Developer Technical Services
Autodesk Developer Network
0 Likes
Message 5 of 7

Revitalizer
Advisor
Advisor

Hi joe.ye,

 

yes, I know that there are special strings for special versions.

Also, these strings are localized (as the "[Recent files]" string is).

 

After all, I think there is no possibility to get the main window title string except using Windows API functions.

I do not see why not to do so, by the way.

 

 

 

Best regards,

Revitalizer




Rudolf Honke
Software Developer
Mensch und Maschine





0 Likes
Message 6 of 7

Revitalizer
Advisor
Advisor
Accepted solution

Hi all, what about this:

 

System.Diagnostics.Process.GetCurrentProcess().MainWindowTitle

I haven't tested this, but maybe it may help you.

 

 

Cheers,

Revitalizer




Rudolf Honke
Software Developer
Mensch und Maschine





0 Likes
Message 7 of 7

Joe.Ye
Alumni
Alumni

 

Cool, I confirmed the result is correct. 



Joe Ye
Contractor
Developer Technical Services
Autodesk Developer Network
0 Likes