2016-07-15 4 views
0

저는 C#의 기본 메서드에 전달할 내 인수를 얻으려고했습니다. 주로 더블 클릭 한 파일 경로를 캡처하고 싶습니다. 나는 커스텀 익스텐션 (custom extension)을 가진 파일을 가지고 있는데, 실행하면 프로그램이 열린다. 그 부분은 작동합니다.C# 주에게 전달 된 인수가 없음

static string file = ""; 

    [STAThread] 
    static void Main(string[] args) 
    { 
     Application.EnableVisualStyles(); 

     if (args.Length > 0) file = args[0]; 

     Application.Run(new Form1()); 
    } 

    public Form1() 
    { 
     InitializeControls(); 
    } 

필자도별로 다르지 않았다.

static string file = ""; 

    [STAThread] 
    static void Main() 
    { 
     Application.EnableVisualStyles(); 

     string[] args = Environment.GetCommandLineArgs(); 
     if (args.Length > 0) file = args[0]; 

     Application.Run(new Form1()); 
    } 

    public Form1() 
    { 
     InitializeControls(); 
    } 

나는이 부분 클래스에서 이것을 언급할만한 가치가있다. 나는 그것이 직접적으로 영향을 미치는지 아닌지는 모른다.

그냥 더블 클릭 한 파일을 얻을 수 있다면 나는 args를 얻을 필요가 없지만 그것이 유일한 방법이라고 느낀다. 그리고 지금은 궁금하다.

내게 주전산기에 args를 전달하지 못하게하는 것은 무엇입니까? 당신이 같이 나타나야 프로그램 유형을 묻는 메시지가 명령에 "FTYPE"를 실행하면

+1

응용 프로그램을 어떻게 실행합니까? –

+0

글쎄, 내 확장 기능이있는 파일을 더블 클릭하면 프로그램이 열리도록 설정했다. 나는 비주얼 스튜디오의 퍼블리싱 세팅하에이를 설정했다. – blapaz

+0

관련성이 있습니다. http://stackoverflow.com/questions/13654197/open-custom-file-with-own-application – Tomer

답변

1

:

"%1" 정확히 그런 식으로
YOURTYPE="yourProgram.exe" "%1" 

표시하지 않는 경우, 협회가 잘못 (그것은 '수상 파일 이름을 인수로 전달). 시도 해봐.

+0

내 컴퓨터의 일반적인 cmd? – blapaz

+0

예. 명령 프롬프트에서 명령을 실행하고 프로그램을 찾으십시오. –

+0

나는 거기에 물건을 가지고 있고 전혀 프로그램을 보지 못합니다. – blapaz

관련 문제