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 FindWindowEx(HWND, HWND, char *, char *)" extern "int ShowWindow(HWND, int)" SW_HIDE = 0 SW_NORMAL = 1 SW_SHOWNORMAL = 1 SW_SHOWMINIMIZED = 2 SW_MAXIMIZE = 3 SW_SHOWMAXIMIZED = 3 SW_SHOWNOACTIVATE = 4 SW_SHOW = 5 SW_MINIMIZE = 6 SW_SHOWMINNOACTIVE = 7 SW_SHOWNA = 8 SW_RESTORE = 9 SW_SHOWDEFAULT = 10 SW_FORCEMINIMIZE = 11 SW_MAX = 11 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)