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