我们有几台电脑用作音乐播放器。
播放器程序从启动文件夹启动。程序全屏运行。然后用户可以扫描条形码来收听所需的音乐。
但是程序的窗口不在前台(但它是屏幕上唯一可见的东西,所以这似乎没问题)。因此,当用户扫描条形码时,程序没有焦点。它不会从条形码读取器(模拟键盘)获取数据。
要将其放在前台,只需在窗口内单击鼠标即可完成该任务,但用户没有可用的鼠标或键盘。只有条形码扫描仪。
如何在不修改程序的情况下将此窗口置于前台?
答案1
如果您找不到更好的方法,只需使用以下 Powershell 代码:
Add-Type @"
using System;
using System.Runtime.InteropServices;
public class Tricks {
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool SetForegroundWindow(IntPtr hWnd);
}
"@
sleep -sec 2
$h = (Get-Process firefox).MainWindowHandle
[void] [Tricks]::SetForegroundWindow($h)
来自于StackOverflow 问题。