4

別の Windows アプリケーション ウィンドウを「最前面」に表示する方法を探しています。

例:

ユーザーが読み取るためのメモ帳ウィンドウにデータを書き込むプログラム/スクリプトがあります。そのメモ帳ウィンドウは他のすべての上にとどまり、ユーザーはメモ帳ウィンドウを強調表示せずにバックグラウンドで「ブラウジング」でき、引き続きそこから読み取ることができます。

wm_attributes("-topmost", 1)そのため、「最初から」作成したウィンドウにのみ影響するため、tkinterは機能しません。ただし、別のウィンドウ (pe メモ帳) に対してのみ同じことを行う必要があります。

4

1 に答える 1

8

このソリューションでは、 Pywin32拡張機能の一部であるwin32guiおよびwin32conモジュールを 使用する必要があります。

メモ帳アプリケーションのインスタンスが既に実行されている場合、次のコマンドを実行すると、そのアプリケーションがフォアグラウンドに移動し、他のアプリケーションをブラウズしている間、そこに保持されます。

import win32gui
import win32con

hwnd = win32gui.FindWindow('Notepad', None)
win32gui.SetWindowPos(hwnd, win32con.HWND_TOPMOST, 100, 100, 300, 200, 0) 
于 2012-09-16T14:09:01.897 に答える