过去几天这一直困扰着我。
我想要达到的目标是: 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是否是正确的消息。事实上,我并没有真正得到消息应该做什么以及它们如何工作。 检索文本只是整个程序的第一部分,我被卡住了。
我不在乎是否使用剪贴板来实现这一目标。
有什么想法吗?我真的很想做这项工作,因为我每天都做这个乏味的替代工作。