From: Sean H. <jal...@ho...> - 2001-01-20 01:21:40
|
I'm trying to make a gui interface to a command-line program I have. The problem is that at certain points, the program wants user input. I tried backticks, but my script hangs at the point where the program wants input. Is there a way to interface with DOS so that when a DOS program wants input, the control switches back to the Perl script, which can ask for input and then pipe that input into DOS? Backticks, exec(), and system() all fail to allow for user input after the initial command. Is there a module or something I can use for this? _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com |
From: <Chr...@ti...> - 2001-01-22 15:21:12
|
Look into the Expect module. (note: I'm not positive it is implemented in the Win32 environment - so forgive me if it is not..) tcl...@we... -----Original Message----- From: Sean Healy [mailto:jal...@ho...] Sent: Friday, January 19, 2001 7:22 PM To: per...@li... Subject: Re: [perl-win32-gui-users] Interacting with DOS Shell I'm trying to make a gui interface to a command-line program I have. The problem is that at certain points, the program wants user input. I tried backticks, but my script hangs at the point where the program wants input. Is there a way to interface with DOS so that when a DOS program wants input, the control switches back to the Perl script, which can ask for input and then pipe that input into DOS? Backticks, exec(), and system() all fail to allow for user input after the initial command. Is there a module or something I can use for this? _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com _______________________________________________ Perl-Win32-GUI-Users mailing list Per...@li... http://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users |
From: Peter E. <Pet...@at...> - 2001-01-25 16:22:32
|
a more windows-ish way might be to open a new window that instructs the user to input "something" with a textbox for their input and an OK button to accept, read in their input, and close the input window. -----Original Message----- From: Chr...@ti... [mailto:Chr...@ti...] Sent: Monday, January 22, 2001 10:21 AM To: per...@li... Subject: RE: [perl-win32-gui-users] Interacting with DOS Shell Look into the Expect module. (note: I'm not positive it is implemented in the Win32 environment - so forgive me if it is not..) tcl...@we... -----Original Message----- From: Sean Healy [mailto:jal...@ho...] Sent: Friday, January 19, 2001 7:22 PM To: per...@li... Subject: Re: [perl-win32-gui-users] Interacting with DOS Shell I'm trying to make a gui interface to a command-line program I have. The problem is that at certain points, the program wants user input. I tried backticks, but my script hangs at the point where the program wants input. Is there a way to interface with DOS so that when a DOS program wants input, the control switches back to the Perl script, which can ask for input and then pipe that input into DOS? Backticks, exec(), and system() all fail to allow for user input after the initial command. Is there a module or something I can use for this? _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com _______________________________________________ Perl-Win32-GUI-Users mailing list Per...@li... http://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users _______________________________________________ Perl-Win32-GUI-Users mailing list Per...@li... http://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users |
From: Sean H. <jal...@ho...> - 2001-01-25 16:43:21
|
I looked into both these solutions. I couldn't get Expect to work (I'll guess I'll have to wait for a Win32 version), and the problem with this other one is that DOS won't relinquish control back to the script until it has finished running - and since it's waiting for input, it never finishes. I discovered that I cam make it work if I use the console - DOS will wait for user input from the console, so you can enter it there. I checked on the MSDN Library, and it seems that Windows starts an instance of a 'Virtual Machine' for each DOS prompt. (This is to fool DOS into thinking it's the only thing running.) What I need is some way to pipe info into and out of a VM - but I haven't found a way yet. I've looked into pipes and threads and interprocess communication on the MSDN Library, but I've found nothing that works yet. I've shelved this project for a while - I just applied for a job I'm very likely to get, so I won't have as much free time on my hands - and I'll get to write Perl! (My last job laid me off - in fact, about 80% of their developers - a couple of months ago, but they had me writing PHP anyway.) Wish me luck! >a more windows-ish way might be to open a new window that instructs the >user >to input "something" with a textbox for their input and an OK button to >accept, read in their input, and close the input window. >Look into the Expect module. (note: I'm not positive it is implemented in >the Win32 environment - so forgive me if it is not..) _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com |
From: Robert S. <rs...@em...> - 2001-01-21 01:08:12
|
maybe some sort of IPC, like pipes? (i haven't played with it myself, but that sounds like what you need...) -rob Sean Healy wrote: > > I'm trying to make a gui interface to a command-line program I have. The > problem is that at certain points, the program wants user input. I tried > backticks, but my script hangs at the point where the program wants input. > Is there a way to interface with DOS so that when a DOS program wants input, > the control switches back to the Perl script, which can ask for input and > then pipe that input into DOS? > > Backticks, exec(), and system() all fail to allow for user input after the > initial command. Is there a module or something I can use for this? > _________________________________________________________________ > Get your FREE download of MSN Explorer at http://explorer.msn.com > > _______________________________________________ > Perl-Win32-GUI-Users mailing list > Per...@li... > http://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users |