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 のスタート ボタンでは動作しませんでしたが (無効になるだけです)、通常の Windows では動作します。

于 2013-03-20T13:44:44.437 に答える