.NET

Reply
Active Contributor
jprisbe
Posts: 37
Registered: ‎02-22-2005
Message 1 of 4 (790 Views)
Accepted Solution

Getting command-line parameters

790 Views, 3 Replies
07-11-2012 08:33 AM

From my .NET dll I need to get the command line parameters that were used when AutoCAD was launched.

 

In the unmanaged world I used acedGetAcadWinApp.

 

Is there a .NET equivalent?

 

Thanks,

 //"C:\Program Files\AutoCAD 20xx\acad.exe" /p "..\Acad.arg" /myArg1 /nologo
//Command: args
//Arg0="D:\Program Files\AutoCAD 20xx.exe"
//Arg1="/p"
//Arg2="..\Acad.arg"
//Arg3="/myArg1"
//Arg4="/nologo"
[CommandMethod("Args")]
public void GetAcadArguments()
{
Document dwg = Application.DocumentManager.MdiActiveDocument;
Editor ed = dwg.Editor;
int i = 0;
foreach (string arg in Environment.GetCommandLineArgs())
{
ed.WriteMessage("\n Arg{0}=\"{1}\"",i++,arg);
}
}

 

*Expert Elite*
chiefbraincloud
Posts: 753
Registered: ‎02-13-2008
Message 2 of 4 (776 Views)

Re: Getting command-line parameters

07-11-2012 10:21 AM in reply to: jprisbe

Not that I am aware of.

 

It appears that acedGetAcadWinApp can be PInvoked, but I'm not sure how you would access the properties from the Pointer that is returned.

 

the signature for 32bit AutoCAD 2012 appears to be ?acedGetAcadWinApp@@YAPAVCWinApp@@XZ

Dave O.                                                                  Sig-Logos32.png
Mentor
SENL1362
Posts: 174
Registered: ‎07-20-2011
Message 3 of 4 (770 Views)

Re: Getting command-line parameters

07-11-2012 10:49 AM in reply to: chiefbraincloud
       //"C:\Program Files\AutoCAD 20xx\acad.exe" /p "..\Acad.arg"    /myArg1 /nologo
        //Command: args
        //Arg0="D:\Program Files\AutoCAD 20xx.exe"
        //Arg1="/p"
        //Arg2="..\Acad.arg"
        //Arg3="/myArg1"
        //Arg4="/nologo"
        [CommandMethod("Args")]
        	public void GetAcadArguments()
        	{
            	Document dwg = Application.DocumentManager.MdiActiveDocument;
            	Editor ed = dwg.Editor;

                int i = 0;
                foreach (string arg in Environment.GetCommandLineArgs())
                {
                    ed.WriteMessage("\n Arg{0}=\"{1}\"",i++,arg);
                }

            }

 

Active Contributor
jprisbe
Posts: 37
Registered: ‎02-22-2005
Message 4 of 4 (766 Views)

Re: Getting command-line parameters

07-11-2012 11:04 AM in reply to: jprisbe

Environment.GetCommandLineArgs() is exactly what I was looking for.

 

Thanks.

Announcements
Are you familiar with the Autodesk Expert Elites? The Expert Elite program is made up of customers that help other customers by sharing knowledge and exemplifying an engaging style of collaboration. To learn more, please visit our Expert Elite website.
Need installation help?

Start with some of our most frequented solutions or visit the Installation and Licensing Forum to get help installing your software.