win32のTkinterで、ウィンドウハンドル (hWnd)を取得

[pukiwiki]
tkinterのウィンドウから、win32ネイティブなウィンドウハンドル (hWnd)を取得するのに、 ちょっと手こずったので、次回用にメモ。

hWnd = int(root.frame(),16)

Python2.5で確認。
正式なドキュメントに載ってないので、将来 変更されるかも
[/pukiwiki]

[pukiwiki]
ウィンドウハンドル (hWnd)は、win32apiを呼ぶ時に必要になるものです。

参考
[[PythonでSetWindowPosを使うにはどうしたら良いでしょうか?:http://oshiete1.goo.ne.jp/qa3011891.html]]
こちらのコードは動きませんが、動くように改造
起動すると、小さいウィンドウが開き、常に、デスクトップの一番上に表示されます。
(クローズボックスで閉じてください)

使用モジュール [[pywin32:http://sourceforge.net/projects/pywin32/]]
[/pukiwiki]

import Tkinter as Tk 
import win32gui
import win32con
root = Tk.Tk()
root.update()        ### これで、画面にちゃんと表示されてからhWndを取得
hWnd = int(root.frame(),16) ### ここ、リンク先と違ってます

win32gui.SetWindowPos(hWnd,win32con.HWND_TOPMOST,0,0,0,0,
win32con.SWP_NOMOVE | win32con.SWP_NOSIZE)
root.mainloop()

コメントを残す

メールアドレスが公開されることはありません。