[英]Bring console application window to front code explanation
我需要將控制台從C#表單/控制台應用程序移到最前面。 我得到以下代碼,它將控制台窗口從前面移到: 在C#中將控制台窗口放在前面
但是,為什么此代碼示例也顯示true ,如何禁用它?
public static void ToFront()
{
string originalTitle = Console.Title;
string uniqueTitle = Guid.NewGuid().ToString();
Console.Title = uniqueTitle;
Thread.Sleep(50);
IntPtr handle = FindWindowByCaption(IntPtr.Zero, uniqueTitle);
Console.Title = originalTitle;
Console.WriteLine(SetForegroundWindow(handle));
}
從更改最后一行
Console.WriteLine(SetForegroundWindow(handle));
至
SetForegroundWindow(handle);
您執行的功能是打印結果值。
這是罪魁禍首:
Console.WriteLine(SetForegroundWindow(handle));
SetForeGroundWindow返回布爾值,該布爾值由WriteLine自動轉換為字符串,並打印出來。
替換為:
SetForegroundWindow(handle);
您正在打印SetForgroundWindow的返回值,該返回值在成功時返回true。 只需將類刪除到console.writeline
Console.Title = originalTitle;
SetForegroundWindow(handle);
您可以使用;
SetForegroundWindow(handle);
不
Console.WriteLine(SetForegroundWindow(handle));
鑒於標題在桌面中是唯一的,請添加對Microsoft.VisualBasic的引用,然后:
using Microsoft.VisualBasic;
....
Interaction.AppActivate(Console.Title);
編輯:抱歉,我沒有完全閱讀問題,但是如果VB導入不會冒犯您,這是將應用程序置於前台的一種簡單方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.