Verstecke Fenster von MS Windows Taskleiste

Mit pyGtk habe ich ein Fenster ohne Dekoration erstellt. Das Fenster ist vor der Taskleiste und oben auf allen Fenstern verborgen. Auf linux funktioniert es gut, aber auf MS Windows-Fenster manchmal versteckt es sich unter einem anderen Fenster und hat immer "python.exe" die Taskleiste in Windows.

Bild, das mein Problem darstellt:

Bildbeschreibung hier eingeben

Wie kann ich dieses Fenster "python.exe" aus der Taskleiste verbergen?

Mein Code:

class Infowindow(gtk.Window): ''' Klasa okienka informacyjnego ''' def __init__(self, json, index, destroy_cb, device): gtk.Window.__init__(self) self.size_x = 260+48 self.size_y = 85 self.separator_size = 10 self.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_SPLASHSCREEN) self.set_decorated(False) self.set_property('skip-taskbar-hint', True) self.set_opacity(1) self.set_keep_above(True) self.add_events(gtk.gdk.BUTTON_PRESS_MASK) self.connect("enter-notify-event", self.__on_hover) self.connect("leave-notify-event", self.__on_leave) self.connect("button_press_event", self.__on_click) self.set_size_request(self.size_x, self.size_y) color = gtk.gdk.color_parse('#f3f3f3') self.modify_bg(gtk.STATE_NORMAL, color) self.expanded = False self.index = index self.destroy_cb = destroy_cb self.json = json['data'] self.system_info = False if 'system' not in self.json or not self.json['system'] else True self.device = device f = gtk.Frame() self.move_window(index) #move window to specified place self.box_area = gtk.VBox() self.box_area.set_spacing(10) f.add(self.box_area) self.add(f) self.show_all() 

2 Solutions collect form web for “Verstecke Fenster von MS Windows Taskleiste”

Sie haben zwei Möglichkeiten, ein Fenster aus der Taskleiste zu entfernen:

  1. Fügen Sie den erweiterten Fensterstil von WS_EX_TOOLWINDOW . Aber das hat andere Konsequenzen und ich kann nicht sagen, ob es ihnen ernst ist oder nicht.
  2. Geben Sie dem Fenster einen Besitzer, der nicht sichtbar ist. Dies ermöglicht Ihnen die Freiheit, beliebige Fensterstile und erweiterte Stile zu verwenden, die Sie wünschen, aber es geht um mehr Arbeit.

Es ist natürlich, dass dein Fenster unter anderen Fenstern geht. So funktioniert das Fenster. Wenn du dein Fenster oben erscheinen HWND_TOPMOST , zeig es mit HWND_TOPMOST .

Ich habe keine Ahnung, wie irgendwelche davon (oder nicht) unter PyGtk implementiert ist. Ich habe dir gerade die Win32-Antwort gegeben!

Wieder danke David Heffernan. Funktioniert perfekt!

Für Leute, die eine vollständige Lösung in Python wollen.

  • Nennen Sie Ihr Fenster in einer charakteristischen Weise zum Beispiel: 'alamakota'
  • Verwenden Sie find_window ('alamakota'),
  • Mit gegebener Handler verwenden hide_from_taskbar (Handler)
  • Letzter Gebrauch set_topmost (Handler)

Das Fenster ist von der Taskleiste verborgen und es ist ganz oben.

Ich weiß, es ist nicht ein beatyfull Code, aber funktioniert gut auf Windows XP und höher.

 import ctypes import win32gui import win32api from win32con import SWP_NOMOVE from win32con import SWP_NOSIZE from win32con import SW_HIDE from win32con import SW_SHOW from win32con import HWND_TOPMOST from win32con import GWL_EXSTYLE from win32con import WS_EX_TOOLWINDOW @staticmethod def find_window(name): try: return win32gui.FindWindow(None, name) except win32gui.error: print("Error while finding the window") return None @staticmethod def hide_from_taskbar(hw): try: win32gui.ShowWindow(hw, SW_HIDE) win32gui.SetWindowLong(hw, GWL_EXSTYLE,win32gui.GetWindowLong(hw, GWL_EXSTYLE)| WS_EX_TOOLWINDOW); win32gui.ShowWindow(hw, SW_SHOW); except win32gui.error: print("Error while hiding the window") return None @staticmethod def set_topmost(hw): try: win32gui.SetWindowPos(hw, HWND_TOPMOST, 0,0,0,0, SWP_NOMOVE | SWP_NOSIZE) except win32gui.error: print("Error while move window on top") 
  • Starten Sie IPython Notebook mit ausgewähltem Browser
  • Pythonbindungen für VLC
  • Korrigieren Sie mt.exe-Syntax, um pyodbc-Importprobleme zu beheben
  • Kann ich die Architektur (32bit vs 64bit) beim Aufbau eines pyinstaller ausführbaren steuern?
  • Python 3.0 auf Cygwin installieren
  • Führen Sie den Befehl bash in Cygwin aus einer anderen Anwendung aus
  • Freeze_support bug in mit scikit-lernen in der Anaconda python distro?
  • Wie installiere ich PyCrypto unter Windows?
  • Wie fügt man hinzu und entfernt aus der Umgebungsvariable "PATH" des Systems?
  • Verwenden von Word2vec mit Tensorflow unter Windows
  • Python-Setup: Befehl nicht gefunden
  • Python ist die beste Programmiersprache der Welt.