exe의 위치를 ​​모르고 명령줄 인수를 사용하여 파일을 시작하시겠습니까?

StackOverflow https://stackoverflow.com/questions/35914

  •  09-06-2019
  •  | 
  •  

문제

상황은 다음과 같습니다.응용프로그램을 실행하려고 하는데 .exe의 위치를 ​​알 수 없습니다.이제 파일 확장자가 Windows에 등록되어 있으면 다음과 같이 할 수 있습니다.

Process.Start("Sample.xls");

그러나 일부 명령줄 인수도 전달해야 합니다.나는 이것을 작동시킬 수 없었다

   Process p = new Process();
   p.StartInfo.FileName = "Sample.xls";
   p.StartInfo.Arguments = "/r";  // open in read-only mode
   p.Start();

이 문제를 해결하기 위한 메커니즘에 대한 제안 사항이 있습니까?

편집하다 @아쿠

내 StackOverflow 검색 기술이 약합니다.나는 그 게시물을 찾지 못했습니다.나는 일반적으로 레지스트리를 들여다보는 것을 싫어하지만 이는 훌륭한 솔루션입니다.감사해요!

도움이 되었습니까?

해결책

내 코드를 사용하여 이것 대답하면 xls 확장자와 관련된 명령을 얻을 수 있습니다.그런 다음 이 명령을 다음으로 전달할 수 있습니다. Process.Start 방법.

다른 팁

레지스트리를 쿼리하면 등록된 파일 형식에 대한 데이터를 검색한 다음 명령줄 인수를 전달하여 앱을 직접 호출할 수 있습니다.보다 프로그래밍 방식으로 파일 형식 확인 및 설정 파일 유형에 대한 쉘 정보를 검색하는 예는 다음과 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top