python:如何使用热键复制/替换Internet文本框上的文本

时间:2015-08-12 09:48:21

标签: python winapi

过去几天这一直困扰着我。

我想要达到的目标是: 1.从Internet文本编辑器中选择(通过拖动,移动等)文本。 2.按热键(下面的代码中的Alt-`) 3.将该文本检索/复制到python程序 4.用不同的文本块替换所选文本。

因此,如果我在文本编辑器中选择单词“stack”并按Alt +`,则选择应更改为“堆栈溢出”。 只按下那个热键。

看起来很简单,但我发现它确实不是。

就我而言:

import pyHook
import win32clipboard
import win32api, win32con

def sm():
    handle = win32api.GetCurrentProcess()
    win32api.SendMessage(handle ,win32con.WM_COPY, 0,0)

def OnKeyboardEvent(event):
    if event.Alt != 0:
        if event.KeyID != 192:
            sm()
            try:
                win32clipboard.OpenClipboard()
                a = win32clipboard.GetClipboardData(13)
            finally:
                try:
                    win32clipboard.CloseClipboard()
                finally:
                    print "error"

    return True

hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent

hm.HookKeyboard()
if __name__ == '__main__':
  import pythoncom
  pythoncom.PumpMessages()

这只是我尝试过的众多代码之一。 我甚至不确定WM_COPY是否是正确的消息。事实上,我并没有真正得到消息应该做什么以及它们如何工作。 检索文本只是整个程序的第一部分,我被卡住了。

我不在乎是否使用剪贴板来实现这一目标。

有什么想法吗?我真的很想做这项工作,因为我每天都做这个乏味的替代工作。

0 个答案:

没有答案