Message-ID: <3421AA22.7C2897D5@utw.com> Date: Thu, 18 Sep 1997 17:24:34 -0500 From: Kurt Wall MIME-Version: 1.0 To: "Salvador Eduardo Tropea (SET)" CC: Eli Zaretskii , djgpp AT delorie DOT com, spector AT EnchantedLearning DOT com Subject: Re: DJGPP, interprocess communication, and DPMI References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Precedence: bulk Salvador Eduardo Tropea (SET) wrote: > Eli Zaretskii replied to Mitchell Spector > > On Wed, 17 Sep 1997, Mitchell Spector wrote: > > > > > Can a DJGPP program running in a DOS box under Windows 95 > > > communicate with another currently-running program (either > > > another DJGPP program in a different DOS box or a regular > > > Win32 app)? > > > > One way that's simple to implement is to use the Windows clipboard. > > A bunch of functions of Interrupt 2Fh let DOS programs get and put > > text from and to the Windows clipboard. Look in Ralf Brown's > > Interrupt List, under W-2F1700 (WINOLDAP) and thereabouts. > > > > For example, the DJGPP port of Emacs uses this interface to support > > the clipboard cut/paste operation, and as a consequence, you can move > > text between two instances of Emacs that run on the same machine. > > > > This method uses DOS memory, so it's inherently limited to the amount > > of free DOS memory your program has (usually, at least 500K should be > > available, but your mileage may vary). > > > > The only other way is to write a VxD, I think. But I'm no expert in > > the ways of tweaking Windows to do what you need, so don't take this > > as the definitive opinion. > > At least in my system the Windows clipboard seems to be slower than a virtual > disk or even the HD with enough cache. > I don't know why but the Win 3.1 clipboard works very slow (I tried coping > 300Kb from write). > I think one solution could be a real mode TSR loaded before windows. > > SET > ------------------------------------ 0 -------------------------------- > Visit my home page: http://www.geocities.com/SiliconValley/Vista/6552/ > Salvador Eduardo Tropea (SET). (Electronics Engineer) > Alternative e-mail: set-sot AT usa DOT net - ICQ: 2951574 > Address: Curapaligue 2124, Caseros, 3 de Febrero > Buenos Aires, (1678), ARGENTINA > TE: +(541) 759 0013 Another solution would be to set up a pipe: one app pokes data into an address, the other app reads data out of the address. The bookkeeping could get hairy, though. I know that Win32, at least, has facilities for IPC such as shared memory and pipes. Take a look at the SDK, if you can find it, for the 16-bit versions of Windows. Kurt