Вопрос: У меня есть консольная программа, которая не должна быть видна. (Сбрасывает IIS и удаляет временные файлы.)
Прямо сейчас я могу скрыть окно сразу после запуска следующим образом:
static void Main(string[] args)
{
var currentProcess = System.Diagnostics.Process.GetCurrentProcess();
Console.WriteLine(currentProcess.MainWindowTitle);
IntPtr hWnd = currentProcess.MainWindowHandle;//FindWindow(null, "Your console windows caption"); //put your console window caption here
if (hWnd != IntPtr.Zero)
{
//Hide the window
ShowWindow(hWnd, 0); // 0 = SW_HIDE
}
Проблема заключается в том, что на экране отображается мгновенное мгновение. Есть ли какой-либо конструктор для консольной программы, где я могу скрыть окно до его отображения?
И второе:
Я использую
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
и мне не нравится 32 в нем. Есть ли способ сделать это без DllImport?
Способ .NET: