Roddy가 제안한 것처럼 매개 변수 스위치는 신뢰할 수있는 유일한 솔루션이라고 생각합니다. 그러나 사용자가 자신의 바로 가기를 만들면 사용자의 요구에 맞지 않을 수 있습니다.
즉 사용자가 명령 줄에 일부 "문서"가 포함 된 바로 가기를 만드는 경우 명령 줄 호출 또는 "두 번 클릭"으로 취급되기를 원하십니까? 내 생각 엔 후자 야.
전자의 경우 여기에서 읽을 수 있습니다. :)
그러나 다음 후자 경우 당신은
는 명령 줄을 사용하여 포함 할 그건 .... 안정적으로 원하는 동작을 얻을 수 (이상)에 조금 더 많은 작업을 넣어해야합니다 두 번 누르기보다는
명령 줄 실행을 나타내려면 스위치를 두 번 누르는 것이 효과적이지만 한 가지 방법은 명령 줄에서 실행하는 것입니다. 즉, 명령 줄을 사용하십시오! (나는 Start Menu -> Run ...을 명령 줄 실행으로 간주한다.) ymmv)
그렇다면 나는 응용 프로그램에 대한 명령 행 특정 실행 프로그램을 만들 것이다. 명령 행 시작 프로그램은 실제로 실행 파일을 호출하기 전에 명령 줄을 사용하고 추가 매개 변수를 추가하는 매우 간단한 코드입니다.
예 :
myapp와의 PARAM1의 PARAM2 단순히 효율적으로에서 ShellExecute를 호출
:
myappgui PARAM1 PARAM2 /cmd를
나 자신이 두 개의 실행 파일을 가지고 너무 걱정되지 않을 것 사용자가 호출 할 때 실제 "app"을 나타내는 exe의 실제 이름에 훨씬 덜 관심이 있기 때문에 GUI를 통해 GUI를 호출하는 것은 이름을 알거나 알 필요가 없기 때문에 가능합니다. 귀하의 파일 형식 연결 및 바로 가기 등을 직접 단순히 모든 지점 myappgui.exe보다는 을 "진짜"MyApp.exe의
그리고 당신의 명령 줄 참조는 단순히 MyApp.exe의를 사용하는 사용자 지시 명령 줄에서 앱을 호출 할 수 있습니다.
응용 프로그램에서 명령 줄 스위치를 찾으면 명령 줄 실행기 응용 프로그램을 통해 실행되었음을 알게됩니다. 그렇지 않으면 두 번 클릭/GUI를 실행해야합니다.
대부분의 사용자가 염려하는 한, 두 개의 exe가 관련되어 있다는 것을 알 필요조차 없습니다. 어떤 경우 든 사용자가 원하는 기술을 발견하면 사용자가 원하는 기술을 발견 할 때 명령 줄을 만들어 원하는 결과를 얻으려고 스푸핑 할 수 있습니다.
이것이 중요한 경우 명령 줄 실행기 방식을 사용하면 메커니즘을 발견 할 가능성이 낮아질 수 있습니다. 두 개의 실행 파일만으로 충분하지 않다는 것을 알면 명령 줄 스위치도 알아야합니다. 커맨드 라인 발사기가 추가되었습니다. - 명령 행 시작 프로그램 myapp.exe을 사용하지 않고 명령 행에서 직접 myappgui.exe을 사용한 경우, GUI에서 실행 된 것처럼 계속 응답합니다!
한편, GUI 시작을 나타내는 스위치를 사용하면 스위치가 "public view"에 필요한 스위치를 넣어야합니다.
예. exeatly 내가 필요한 것. 음 ... 젠장,하지만 thisbasic/dl 매개 변수가 결국 최상의 해결책이라고 생각합니다 ... –
+1 엄청나게 궁금한 질문을 찾아내는 Roddy! – Argalatyr
Argalatyr와 동의합니다. 이 질문은 Roddy의 대답을 읽을 때까지 아무 것도 이해하지 못했습니다. –