Нужно запустить приложение Win forms из командной строки cmd и передать параметры на выполнение функции, графический интерфейс при этом не должен запускаться.
Без некоторой переделки WinForms
приложения не получится. Итак, идем в файл Program.cs
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
И делаем немного магии:
[DllImport("kernel32.dll")]
static extern IntPtr GetConsoleWindow();
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
const int SW_HIDE = 0;
const int SW_SHOW = 5;
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//параметр может звучать произвольно по вашему желанию
if (args.Contains("-nowindow"))
{
// выполняем то что нужно
// хорошо если в приложении хорошая архитектура и логика от
// представления разделена - все будет проще
// Иначе переделывать придется многое.
// как-то так, удачи =)
Console.WriteLine("Привет");
Console.WriteLine("Введите дату начала:");
var t = Console.ReadLine();
var startDay = new DateTime();
DateTime.TryParse(t, out startDay);
Console.WriteLine(startDay);
//something else
Console.ReadKey();
}
else
{
//если параметра -nowindow нет то стартуем как обычно
var handle = GetConsoleWindow();
ShowWindow(handle, SW_HIDE);
Application.Run(new Form1());
}
}
Не забываем переключить тип выходных данных в свойствах проекта на Консольное приложение
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Здравствуйте! Как можно конвертировать картинку в набор цифр, с помощью которых можно будет нарисовать ту же картинку заново на PHP?
opencart выходит такая ошибка вверху страницыВот строка