2
AutoHotKeyにあるツールチップの機能を模倣したいと思います。AutoHotKeyのツールチップUIを模倣するPython win32 API
AutoHotkeyをコード:
infoTooltip() {
MouseGetPos, xPos, yPos, winId
PixelGetColor, color, %xPos%, %yPos%, RGB
WinGetTitle, winTitle, ahk_id %winId%
ToolTip "%winTitle%"`n%xPos% %yPos% %color%
}
がループ内で呼び出されたときに、このように見えますし、周りのマウスに従います:グーグルでは見つかり
参考文献:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms632680(v=vs.85).aspx
How to use Windows ToolTip Control without bounding to a tool
これまで私のPythonコードの試み:
import win32con, win32gui
from win32api import GetModuleHandle
from commctrl import (TOOLTIPS_CLASS, TTS_ALWAYSTIP, TTS_NOPREFIX, TTM_ADDTOOL, TTM_SETMAXTIPWIDTH)
class TooltipWindow:
def __init__(self):
win32gui.InitCommonControls() # Loads COMCTL32.DLL (Shell Common Controls Library)
self.hwnd = win32gui.CreateWindowEx(
win32con.WS_EX_CLIENTEDGE | win32con.WS_EX_TOPMOST,
TOOLTIPS_CLASS,
"MyTooltipWindow",
win32con.WS_POPUP | TTS_ALWAYSTIP | TTS_NOPREFIX | win32con.WS_BORDER,
win32con.CW_USEDEFAULT,
win32con.CW_USEDEFAULT,
win32con.CW_USEDEFAULT,
win32con.CW_USEDEFAULT,
None,
None,
GetModuleHandle(None),
None
)
win32gui.SendMessage(self.hwnd, TTM_ADDTOOL, None, ???)
tooltip = TooltipWindow()
私はLPARAM引数にTOOLINFO構造体を変換する方法は考えています。また、このコードの大半を盲目的にしようとすると、これが私の最初の本当のwin32guiプロジェクトです。
ご協力いただきありがとうございます。
ctypesに精通していなかったので、このルートについて考えていない、アイデアのおかげで! ahktextdll関数がここでどのような目的を果たすのか尋ねてもいいですか? ここで私が見つけたのはdllですか? https://hotkeyit.github.io/v2/ – Ben
#persistantモードでautohotkeyスクリプトを開始します。 – nelsontruran