2015-04-04 2 views
0

Я искал решение моей проблемы и ничего не нашел. Как вы получаете файл, который открывается программой по умолчанию, которую вы установили для ее открытия? Например: если у меня есть файл с именем HelloWorld.hello, и я настроил его так, чтобы при щелчке файла открылась программа с именем Hello.exe. Как получить файл, который запускает Hello.exe?Получение файла, запускающего exe

+0

Что вы подразумеваете под «файлом, запускающим Hello.exe»? Вы хотите спросить, как получить файл, который был * передан в * Hello.exe? –

+0

Думаю, что да. Как это сделать? – ProgrammingNoob

+1

'System.Environment.GetCommandLineArgs()' – Plutonix

ответ

1

Проблема заключается в том, что вызовы «выполнить HelloWorld.exe» проходят общую методологию, запрограммированную в ОС, по определению функцию ОС для обработки запросов на выполнение. Таким образом, самое большее, что вы когда-либо получите, - это ваше ядро ​​для «того, что меня запустило?»

EDIT Если вы хотите получить программу, выполняющую текущий код, то есть точку входа приложения, это доступно через Environment.CommandLine. Если вы не создаете библиотеку, к которой обращаются несколько исполняемых файлов, это не очень полезно, и если да, то есть несколько случаев, когда библиотека должна знать, что ее вызывает.

Если у вас есть контроль над вызывающей функцией, вы можете рассмотреть вопрос о переходе в некоторых аргументах при запуске в целевой программу - это доступны через параметр string[] в Main

EDIT развернутой возможность передайте информацию в Main, вы можете иметь одну из нескольких подписей для вашего метода Main. Используя следующее:

static void Main(string[] args) 

Будет ли принимать какие-либо аргументы командной строки и передать их в args массив. Таким образом, если вы назвали свою программу HelloWorld.exe (в окнах), как

HelloWorld "alpha beta" delta gamma 

тогда args будет содержит ["alpha beta", "delta", "gamma"] значения. Таким образом, становится возможным передавать флаги или разрешать аргументы командной строки

+0

Как вы передаете их в параметр string [] в методе Main? – ProgrammingNoob

+0

Извиняюсь, я обновлю свой ответ с этой информацией! – David

+0

Удивительный! Спасибо, я заработал. – ProgrammingNoob

Смежные вопросы