Я знаю, что тема старая, но для тех, кто ищет что-то похожее, это может быть полезно.Я пытался добавить эту функцию в свою программу (запустив программу, поместив файл поверх EXE), и решение было очень простым, и оно пришло отсюда.Моя программа просто возилась с парой ячеек в файле Excel.Так что было совершенно очевидно, что он должен работать и делать все это, просто поместив в него файл Excel.Поэтому я добавил это в конструктор Form после инициализации компонента, и он работает для меня безупречно:
public Form1()
{
InitializeComponent();
string[] args = Environment.GetCommandLineArgs();
filePathTextBox.Text = (args.Length > 1 && (Path.GetExtension(args[1]) == ".xlsx" ||
Path.GetExtension(args[1]) == ".xls")) ? args[1] : "";
}
Я заметил, что первый аргумент в args
- это путь к моей программе, поэтому я проверилВторой аргумент - путь к файлу, который я перетаскиваю на исполняемый файл, поэтому я использую args[1]
.Я хотел бы, чтобы меня исправили, если я ошибаюсь, но пока все работает нормально с моей программой.