• Industries
  • Products
  • Buy
  • Services & Support
  • Communities
  • Discussion Groups

    Autodesk Revit API

    Reply
    Contributor
    Posts: 11
    Registered: ‎03-16-2012
    Accepted Solution

    Active window name

    254 Views, 6 Replies
    10-15-2012 02:03 AM

    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

    Please use plain text.
    ADN Support Specialist
    Posts: 172
    Registered: ‎03-05-2010

    Re: Active window name

    10-23-2012 03:47 AM in reply to: Frigotherm

     

    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
    Developer Technical Services
    Autodesk Developer Network
    Please use plain text.
    Valued Contributor
    Posts: 60
    Registered: ‎09-07-2012

    Re: Active window name

    10-24-2012 12:28 AM in reply to: Joe.Ye

    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

    Please use plain text.
    ADN Support Specialist
    Posts: 172
    Registered: ‎03-05-2010

    Re: Active window name

    10-29-2012 09:13 AM in reply to: Revitalizer

     

    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
    Developer Technical Services
    Autodesk Developer Network
    Please use plain text.
    Valued Contributor
    Posts: 60
    Registered: ‎09-07-2012

    Re: Active window name

    10-30-2012 12:58 AM in reply to: Frigotherm

    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

    Please use plain text.
    Valued Contributor
    Posts: 60
    Registered: ‎09-07-2012

    Re: Active window name

    10-30-2012 02:35 AM in reply to: Revitalizer

    Hi all, what about this:

     

    System.Diagnostics.Process.GetCurrentProcess().MainWindowTitle

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

     

     

    Cheers,

    Revitalizer

    Please use plain text.
    ADN Support Specialist
    Posts: 172
    Registered: ‎03-05-2010

    Re: Active window name

    11-01-2012 03:21 AM in reply to: Revitalizer

     

    Cool, I confirmed the result is correct. 



    Joe Ye
    Developer Technical Services
    Autodesk Developer Network
    Please use plain text.