Подскажите, как запускать файл, например с расширением *.txt через приложение, которое увидит его расширение и запустит форму?
Например, берем файл test.txt и перетаскиваем его на приложение, если файл содержит расширение *.txt, то приложение открывает форму, если файл содержит расширение *.jpg, то приложение выведет окно с ошибкой.
Есть пример, но на именных файлах:
static class Program
{
/// <summary>
/// Главная точка входа для приложения.
/// </summary>
[STAThread]
static void Main(string[] args)
{
var whitelist = new HashSet<string>{@"C:\test.txt", @"C:\test2.txt"};
if (args.Any() && whitelist.Contains(args[0]))
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
else
{
MessageBox.Show("Файл не прошел проверку");
}
}
}
Скорее всего, вам нужно сделать так
if (args.Any() && args[0].EndsWith(".txt"))
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
else
{
MessageBox.Show("Файл не прошел проверку");
}
С учетом дополнения
var whitelist = new HashSet<string>{".txt", ".jpg"};
if (args.Any() && whitelist.Contains(Path.GetExtension(args[0])))
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
else
{
MessageBox.Show("Файл не прошел проверку");
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости