簡體   English   中英

將控制台應用程序窗口置於最前面的代碼說明

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM