在python(3.2)中隐藏Windows启动球 [英] Hide Windows start orb in python (3.2)

查看:185
本文介绍了在python(3.2)中隐藏Windows启动球的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在创建一个程序,该程序将替换Python中的Windows开始菜单。我设法找到了一种隐藏任务栏的方法,如下所示,但我找不到隐藏开始orb(Windows按钮)的方法。

I am creating a program that will replace the windows start menu in Python. I have managed to find a way to hide the taskbar as shown below but i can't find a way to hide the start orb(Windows button).

import ctypes
from ctypes import wintypes

FindWindow = ctypes.windll.user32.FindWindowA
FindWindow.restype = wintypes.HWND
FindWindow.argtypes = [
    wintypes.LPCSTR, #lpClassName
    wintypes.LPCSTR, #lpWindowName
]

SetWindowPos = ctypes.windll.user32.SetWindowPos
SetWindowPos.restype = wintypes.BOOL
SetWindowPos.argtypes = [
    wintypes.HWND, #hWnd
    wintypes.HWND, #hWndInsertAfter
    ctypes.c_int,  #X
    ctypes.c_int,  #Y
    ctypes.c_int,  #cx
    ctypes.c_int,  #cy
   ctypes.c_uint, #uFlags
] 

TOGGLE_HIDEWINDOW = 0x80
TOGGLE_UNHIDEWINDOW = 0x40

def hide_taskbar():
    handleW1 = FindWindow(b"Shell_traywnd", b"")
    SetWindowPos(handleW1, 0, 0, 0, 0, 0, TOGGLE_HIDEWINDOW)

def unhide_taskbar():
    handleW1 = FindWindow(b"Shell_traywnd", b"")
    SetWindowPos(handleW1, 0, 0, 0, 0, 0, TOGGLE_UNHIDEWINDOW)


推荐答案

您可以使用 FindWindow ,其原子类为0xC017。然后使用 ShowWindow SetWindowPos 到隐藏任务栏和球体。例如:

You can get a handle to the start orb using FindWindow with the class atom for the orb, 0xC017. Then use ShowWindow or SetWindowPos to hide the taskbar and the orb. For example:

import ctypes
from ctypes import wintypes

user32 = ctypes.WinDLL("user32")

SW_HIDE = 0
SW_SHOW = 5

START_ATOM = wintypes.LPCWSTR(0xC017) # i.e. MAKEINTATOM(...)

user32.FindWindowW.restype = wintypes.HWND
user32.FindWindowW.argtypes = (
    wintypes.LPCWSTR, # lpClassName
    wintypes.LPCWSTR) # lpWindowName

user32.ShowWindow.argtypes = (
    wintypes.HWND, # hWnd
    ctypes.c_int)  # nCmdShow

def hide_taskbar():
    hWndTray = user32.FindWindowW(u"Shell_traywnd", None)
    user32.ShowWindow(hWndTray, SW_HIDE)
    hWndStart = user32.FindWindowW(START_ATOM, None)
    if hWndStart:
        user32.ShowWindow(hWndStart, SW_HIDE)

def unhide_taskbar():
    hWndTray = user32.FindWindowW(u"Shell_traywnd", None)
    user32.ShowWindow(hWndTray, SW_SHOW)
    hWndStart = user32.FindWindowW(START_ATOM, None)
    if hWndStart:
        user32.ShowWindow(hWndStart, SW_SHOW)

这篇关于在python(3.2)中隐藏Windows启动球的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆