2012-11-17 65 views
0

我的本地PC上有大約15個不同的控制檯應用程序,並且它們按計劃的任務運行時間不同。C#控制檯應用程序失去焦點

因爲我將這臺電腦用作個人使用(例如在YouTube上觀看或觀看電影) 他們在我的屏幕上跳躍,但我必須始終手動將其最小化。我的目標是,我希望他們先出現(已經在做),並在幾秒後自動失去焦點。

是否可以在Windows上使用控制檯應用程序?

+1

可能重複: //stackoverflow.com/questions/2686289/how-to-run-a-net-console-app-in-the-background) – HackedByChinese

+0

選中此: http://stackoverflow.com/questions/3571627/show- hide-the-console-window-of-ac-sharp-console-application –

+0

我希望它最小化(失去焦點),並不完全隱藏。 –

回答

3

如果你希望儘量減少控制檯窗口中,你可以使用WINAPI

const Int32 SW_MINIMIZE = 6; 

[DllImport("Kernel32.dll", CallingConvention = CallingConvention.StdCall, SetLastError = true)] 
private static extern IntPtr GetConsoleWindow(); 

[DllImport("User32.dll", CallingConvention = CallingConvention.StdCall, SetLastError = true)] 
[return: MarshalAs(UnmanagedType.Bool)] 
private static extern bool ShowWindow([In] IntPtr hWnd, [In] Int32 nCmdShow); 

private static void MinimizeConsoleWindow() 
{ 
    IntPtr hWndConsole = GetConsoleWindow(); 
    ShowWindow(hWndConsole, SW_MINIMIZE); 
} 

用法:

static void Main(string[] args) 
{ 
    Console.WriteLine("Starting foo..."); 
    Thread.Sleep(1000); // hold console for a second on the screen 
    MinimizeConsoleWindow(); 
    Console.ReadKey(); 
} 
[如何運行.NET控制檯應用程序在後臺(HTTP的
+0

這是我想要的。謝謝! –

相關問題