将控制台应用程序窗口带到前端代码解释
本文关键字:前端 代码 解释 控制台 应用程序 窗口 | 更新日期: 2023-09-27 18:08:20
我需要将控制台从c#表单/控制台应用程序带到前面。我得到了下面的代码,这将把控制台窗口前面从:把控制台窗口前面在c#
然而,为什么这个代码示例也打印真,我如何禁用它?
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返回一个bool值,由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导入不会冒犯你,这是一种将应用程序带到前台的简单方法。