我正在为Autodesk Inventor创建一个AddIn应用程序。这个AddIn的目的是拥有一些可以提高生产力的设计工具。
(特别是这个工具将执行复制设计,但仅用于信息。)
我已经在独立的应用程序中编写了该工具并且它可以工作,然后我添加到Autodesk Inventor AddIn中,它不再起作用了。
所以我搜索了一下,发现我应该保留独立应用程序并从AddIn调用它。
这是来自我的AddIn的电话 我这样做是这样的,我认为,msdn页面上有很多方法,但我想这就是我需要的方法
Sub OpenWithArguments()
' url's are not considered documents. They can only be opened
' by passing them as arguments.
Process.Start("IExplore.exe", "www.northwindtraders.com")
' Start a Web page using a browser associated with .html and .asp files.
Process.Start("IExplore.exe", "C:\myPath\myFile.htm")
Process.Start("IExplore.exe", "C:\myPath\myFile.asp")
End Sub 'OpenWithArguments
但是,当我调用它时,如何创建可以接受参数的copydesign.exe?
答案 0 :(得分:1)
您可以使用System.Envirement.CommandLine
检查应用程序中的输入参数,并对每个命令执行适当的操作。但我建议选择另一种沟通方式。
答案 1 :(得分:0)
你实际上有两个选择(我知道):
选项1
将Main方法与参数一起使用。
代码中的某处有一个主要方法,即应用程序启动时将调用的第一个方法。它应该是这样的:
Sub Main()
...
End Sub
您实际上可以确定此方法应该接收参数:
Sub Main(ByVal cmdArgs() As String)
For Each Arg As String in cmdArgs
'Do some stuff with this Arg
Debug.Writeline("Argument : " & Arg)
Next For
End Sub
Check this link for more information
选项2
使用Environment
的CommanLine属性Sub Main()
Dim arguments As String() = Environment.GetCommandLineArgs()
For Each Arg As String in arguments
'Do some stuff with this Arg
Debug.Writeline("Argument : " & Arg)
Next For
End Sub
Check this link for more information
修改强>
请注意,通常您收到的第一个参数将是您的可执行文件的路径...所以您总是还有一个不需要的参数......