Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
development:python:windows [2019-04-09 18:02] – Martin Prochnow | development:python:windows [2019-07-26 15:02] (aktuell) – Martin Prochnow | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Windows ====== | ====== Windows ====== | ||
+ | |||
+ | ===== Programmfenster in Vordergrund bringen ===== | ||
+ | Folgende Funktion kann genutzt werden, um unter Windows ein Programm-Fenster in den Vordergrund zu bringen. Parameter ist der Fenstername (wie er in der Titelleiste steht). Text, der dem Namen nachgestellt ist, wird ignoriert. | ||
+ | |||
+ | <sxh python> | ||
+ | def raiseWindowByName(title): | ||
+ | import win32con | ||
+ | import win32gui | ||
+ | |||
+ | wins = [] | ||
+ | win32gui.EnumWindows(lambda x, y: y.append(x), | ||
+ | |||
+ | for winId in wins: | ||
+ | winName = win32gui.GetWindowText(winId) | ||
+ | if winName.startswith(title): | ||
+ | if win32gui.IsIconic(winId): | ||
+ | win32gui.ShowWindow(winId, | ||
+ | | ||
+ | win32gui.SetForegroundWindow(winId) | ||
+ | | ||
+ | break | ||
+ | </ | ||
===== COM-Wrapper-Klassen erstellen ===== | ===== COM-Wrapper-Klassen erstellen ===== | ||
Zeile 13: | Zeile 35: | ||
makepy.main() | makepy.main() | ||
</ | </ | ||
+ | |||
+ | ===== Nutzung von IPv4 erzwingen ===== | ||
+ | Unter neueren Windows-Versionen wird unter Python bei der Namensauflösung für Windows-Rechner (z.B. auch // | ||
+ | |||
+ | Eine Lösung wäre es natürlich, IPv6 im Betriebssystem zu deaktivieren. Das hat aber was von "mit Kanonen auf Spatzen schießen" | ||
+ | |||
+ | <sxh python> | ||
+ | import socket | ||
+ | origGetAddrInfo = socket.getaddrinfo | ||
+ | |||
+ | def getAddrInfoWrapper(host, | ||
+ | return origGetAddrInfo(host, | ||
+ | |||
+ | socket.getaddrinfo = getAddrInfoWrapper | ||
+ | </ | ||
+ | |||
+ | [[http:// | ||
===== Windows-Service ===== | ===== Windows-Service ===== |