在windows下使用python进行图形类操作时,经常需要用到发送快捷键的情况,如ALT+TAB、crtl + F1、Fn + f1等之类的操作,利用win32com模块,可以很便利的进行该类操作。如下一个示例是打开Outlook程序,获取第一个元素,并将其内容复制到粘贴板的示例:
import win32com.client
shell = win32com.client.Dispatch("WScript.Shell")
shell.Run("outlook")
shell.AppActivate("Outlook")
shell.SendKeys("^o", 0)
shell.SendKeys("^a", 0)
shell.SendKeys("^c", 0)
部分键映射关系如下:
Key
|
Argument
|
BACKSPACE
|
{BACKSPACE}, {BS}, or {BKSP}
|
BREAK
|
{BREAK}
|
CAPS LOCK
|
{CAPSLOCK}
|
DEL or DELETE
|
{DELETE} or {DEL}
|
DOWN ARROW
|
{DOWN}
|
END
|
{END}
|
ENTER
|
{ENTER} or ~
|
ESC
|
{ESC}
|
HELP
|
{HELP}
|
HOME
|
{HOME}
|
INS or INSERT
|
{INSERT} or {INS}
|
LEFT ARROW
|
{LEFT}
|
NUM LOCK
|
{NUMLOCK}
|
PAGE DOWN
|
{PGDN}
|
PAGE UP
|
{PGUP}
|
PRINT SCREEN
|
{PRTSC}
|
RIGHT ARROW
|
{RIGHT}
|
SCROLL LOCK
|
{SCROLLLOCK}
|
TAB
|
{TAB}
|
UP ARROW
|
{UP}
|
F1
|
{F1}
|
F2
|
{F2}
|
F3
|
{F3}
|
F4
|
{F4}
|
F5
|
{F5}
|
F6
|
{F6}
|
F7
|
{F7}
|
F8
|
{F8}
|
F9
|
{F9}
|
F10
|
{F10}
|
F11
|
{F11}
|
F12
|
{F12}
|
F13
|
{F13}
|
F14
|
{F14}
|
F15
|
{F15}
|
F16
|
{F16}
|
Key
|
Special Character
|
SHIFT
|
+
|
CTRL
|
^
|
ALT
|
%
|
ENTER
|
~
|