Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re^3: Executing external programs

by haukex (Bishop)
on Feb 18, 2019 at 22:46 UTC ( #1230128=note: print w/replies, xml ) Need Help??

in reply to Re^2: Executing external programs
in thread Executing external programs

Well, there are e.g. GUI testing toolkits that can do things like that, but what the best method is also depends very much on which program you're trying to control?

Replies are listed 'Best First'.
Re^4: Executing external programs
by Veltro (Hermit) on Feb 19, 2019 at 00:00 UTC

    Also, you cannot expect that any program can be controlled. Some programs are made in such a manner that they can be controlled with OLE/COM and notepad is not one of them

    There are some ways to program around that and there are many 'tools' around that are made for UI Automation.

    Someone did however create a OLE module in Perl which would allow you to do something like this:

    use strict ; use warnings ; use Win32::OLE ; use Time::HiRes qw( sleep ) ; my $ex = Win32::OLE->new('WScript.Shell') or die "oops\n"; $ex->run('Notepad') ; sleep(0.1) ; $ex->sendkeys("Hello World!") ;

    Which is equivalent to the vbscript:

    Set wshshell = wscript.CreateObject("WScript.Shell") "Notepad" wscript.sleep 100 wshshell.sendkeys "Hello World!"

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1230128]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (7)
As of 2020-09-30 08:58 GMT
Find Nodes?
    Voting Booth?
    If at first I donít succeed, I Ö

    Results (160 votes). Check out past polls.