タスクバーの表示/非表示を切り替える方法 (Windows)


Win32 API でタスクバーとスタートボタンを非表示にする方法です。

User32.lib の FindWindow 関数でタスクバーとスタートボタンのハンドルを取得し、ShowWindow 関数で表示状態を変更することで表示/非表示を切り替えることが出来ます。

Ruby によるサンプルコード

hide_taskbar.rb

require "fiddle/import"
require 'fiddle/types'

module User32
    extend Fiddle::Importer

    dlload 'User32'
    include Fiddle::BasicTypes
    include Fiddle::Win32Types

    extern "int FindWindow(char *, char *)"
    extern "int ShowWindow(HWND, int)"

    SW_HIDE = 0
    SW_SHOW = 5
end


hwnd_taskbar = User32.FindWindow("Shell_TrayWnd", nil)
hwnd_start = User32.FindWindow("Button", "スタート".encode("SJIS"))
hwnd_start = User32.FindWindow("Button", "Start") if hwnd_start.zero?

# 非表示
User32.ShowWindow(hwnd_taskbar, User32::SW_HIDE)
User32.ShowWindow(hwnd_start, User32::SW_HIDE)

sleep 3

# 表示
User32.ShowWindow(hwnd_taskbar, User32::SW_SHOW)
User32.ShowWindow(hwnd_start, User32::SW_SHOW)

参考:

カテゴリー: 記事 タグ: , パーマリンク

コメントを残す