我想使用 Windows Powershell 脚本来隐藏 Windows 7 任务栏或开始按钮。在 Delphi 中,它会像这样工作,例如:“ShowWindow(FindWindow('windowhandle'), SW_HIDE);”。在 PowerShell 中这样的事情可能吗?我已经找到了模块,但是有没有办法直接做到这一点?提前致谢
问问题
2384 次
1 回答
0
我不知道你是否“直接”计算这个,但你可以从 PowerShell 调用 WinApi。
$definition = @"
[DllImport("user32.dll")]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
public static void Show(string wClass, string wName)
{
IntPtr hwnd = FindWindow(wClass, wName);
if ((int)hwnd > 0)
ShowWindow(hwnd, 1);
}
public static void Hide(string wClass, string wName)
{
IntPtr hwnd = FindWindow(wClass, wName);
if ((int)hwnd > 0)
ShowWindow(hwnd, 0);
}
"@
add-type -MemberDefinition $definition -Namespace my -Name WinApi
[my.WinApi]::Hide('Notepad', 'Untitled - Notepad')
我无法让它与 Windows 开始按钮一起工作(它只是禁用),但它适用于普通窗口。
于 2013-03-20T13:44:44.437 回答