BuildingCoder.CmdDemoCheck.Execute C# (CSharp) 메소드

Execute() 공개 메소드

public Execute ( ExternalCommandData commandData, string &message, ElementSet elements ) : System.Result
commandData ExternalCommandData
message string
elements ElementSet
리턴 System.Result
        public Result Execute(
            ExternalCommandData commandData,
            ref string message,
            ElementSet elements)
        {
            IntPtr revitHandle = System.Diagnostics.Process
            .GetCurrentProcess().MainWindowHandle;

              string s = GetWindowTextUsingWinApi(
            revitHandle );

              // Much simpler direct access:

              s = System.Diagnostics.Process.
            GetCurrentProcess().MainWindowTitle;

              // My system returns:
              // "Autodesk Revit 2013 - Not For Resale Version
              // - [Floor Plan: Level 1 - rac_empty.rvt]"

              bool isDemo = s.Contains( "VIEWER" );

              // Language independent serial number check:

              string serial_number = UIFrameworkServices
            .InfoCenterService.ProductSerialNumber;

              isDemo = serial_number.Equals( "000-00000000" );

              string sDemo = isDemo ? "Demo" : "Production";

              TaskDialog.Show(
            "Serial Number and Demo Version Check",
            string.Format(
              "Serial number: {0} : {1} version.",
              serial_number, sDemo ) );

              return Result.Succeeded;
        }