send function keys to a legacy DOS program
MRAB
python at mrabarnett.plus.com
Thu Mar 10 20:33:05 EST 2011
On 11/03/2011 00:58, Justin Ezequiel wrote:
> Greetings,
>
> We have an old barcode program (MSDOS and source code unavailable.)
> I've figured out how to populate the fields (by hacking into one of
> the program's resource files.)
> However, we still need to hit the following function keys in sequence.
> F5, F2, F7
> Is there a way to pipe said keys into the program?
>
> I know it's not really a python problem but I got nowhere else to go.
> I've tried other barcode solutions but none give the same output.
>
One (hacky) solution is to use the sendkeys module:
http://www.rutherfurd.net/python/sendkeys/
First enumerate the windows and get the title and handle of each:
import win32gui
def enum_windows(accept=None):
def callback(handle, data):
title = win32gui.GetWindowText(handle)
windows.append((title, handle))
windows = []
win32gui.EnumWindows(callback, None)
return windows
Identify the target window's handle by its title and give that window
the input focus:
win32gui.SetForegroundWindow(handle)
Then use the sendkeys module to simulate the keypresses.
More information about the Python-list
mailing list