1

我想使用 Windows Powershell 脚本来隐藏 Windows 7 任务栏或开始按钮。在 Delphi 中,它会像这样工作,例如:“ShowWindow(FindWindow('windowhandle'), SW_HIDE);”。在 PowerShell 中这样的事情可能吗?我已经找到了模块,但是有没有办法直接做到这一点?提前致谢

4

1 回答 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 回答