6

これまで、次の C# コードを使用して Windows タスクバーを非表示にすることができました。

[DllImport("user32.dll")]
private static extern int FindWindow(string className, string windowText);
[DllImport("user32.dll")]
private static extern int ShowWindow(int hwnd, int command);

private const int SW_HIDE = 0;
private const int SW_SHOW = 1;

...

int hwnd = FindWindow("Shell_TrayWnd", "");
ShowWindow(hwnd, SW_SHOW);

ただし、Windows 8 を使用している場合、このコードはプライマリ モニターのタスクバーのみを非表示にし、タスクバーも表示される 2 番目のモニターでは非表示にします。

ウィンドウが表示されている画面でのみタスクバーを非表示にするにはどうすればよいですか?

4

3 に答える 3

9

タスクバーを非表示にしないでください。このようなことをするのは間違った方法です。代わりに、全画面表示のウィンドウを作成するだけで、タスクバーが邪魔にならないようにスマートになります。

Microsoft の Raymond Chen による優れた説明と解説は、彼のブログで読むことができます。

于 2013-08-15T16:35:51.743 に答える
0

私は同じ問題を抱えています。

1) 複数のモニターでアプリケーションを実行する

2) 最初のモニターでは問題ありません。アプリケーションはトップに留まります。

3) ただし、2 番目のウィンドウをクリックすると、タスク バーが表示され、その逆も同様です。

FindWindowEx では、Shell_TrayWnd が 1 つだけ見つかります。最初の画面のもので、非表示にすることができます

于 2015-07-16T06:34:40.670 に答える