Traver REALbasic for Windows: The Blog

REALbasic discussion and programs specifically for Windows (and some discussion of differences between REALbasic and Visual Basic).

Tuesday, January 31, 2006

Autoload Menu Programs Launching Programs

Some of what I have to say in this entry may also be useful to Mac owners, but (1) they will have to make the necessary changes in the source code (essentially replacing the Windows-style filenames - such as menu.exe - with Mac-style filenames - such as menu), and (2) they will have to ignore what is said here about autoload (or else find some Mac equivalent).

What do I mean by "autoload"? Well, in Windows if you put a CD-ROM in a CD-ROM drive, the computer (unless you have told it to do otherwise) automatically looks for certain autorun information and, if it finds it, will "autoload" (i.e., automatically load) and run some program on the CD-ROM. The Mac may or may not have such a feature.

First, a historical digression. About two decades ago in the world of the Texas Instruments TI-99/4A computer (a contemporary of the Apple II and Commodore 64), I published for several years an influential "diskazine" (or magazine on disk) called the Genial TRAVelER. (Although I've been elected into the "TI Hall of Fame," they have not yet gotten around to putting up my bio, but when they do, you may be able to read more about it there.)

Anyway, this "magazine-on-a-disk" had an automatic load program which presented a menu of the contents. The disk was a collection of articles and programs, including games. Much of the time you could start at the automatically loaded menu, choose to read an article, return to the menu, play a game, return to the menu, read another article, and so on. Everything could be done easily right from the floppy disk.

The same sort of thing could easily be done in REALbasic (but not in Visual Basic). You would need, of course, an automatically loading menu on the CD-ROM that could launch separate programs on the CD-ROM, and those programs would need to be able to re-launch the menu program, but that's easily done. (And - except perhaps for the automatically loading menu - the same could be done on a Mac.)

I'm not sure what this new form of media would be called. The Genial TRAVelER was called a "diskazine" because it was published on a floppy disk. What do we call it if we publish something similar on a CD-ROM? To continue to call it a "diskazine" is not quite right, because a floppy "disk" is spelled with a "k" and a CD-ROM (for "Compact Disc - Read Only Memory") spells its "disc" with a "c. Shall we call it a "discazine"? Somehow that doesn't look right, and C-Discazine looks even worse. How about maybe "CD eZine"?

Well, whatever you call it, I don't see anybody really doing anything like that today (maybe because it's difficult to do outside of REALbasic). The closest thing I've seen is certain computer magazines distributed with CD-ROMs, but in the ones I've seen there is no attempt to make the CD into a self-contained entity complete with menu (or "table of contents"). The CD's I've seen are simply collections of supplementary resources discussed in the magazine, not an attempt to publish a magazine on a CD-ROM.

If you like the idea, my CD.zip contains the necessary files to show you how to go about doing it. The cd.zip file contains the important menu.rbp program plus two "stupid programs" (hello.rbp and goodbye.rbp) just to show how it works. Compile all three, and put the .exe files on a CD-ROM, along with the file autorun.inf and the file CDROM01.ICO.

Put the CD-ROM in a CD-ROM drive, and the menu should be auto(mattically) load(ed). (More about that in a moment.) You have three choice on the menu: (1) "Hello" (which launches the Hello program), (2) "Goodbye" (which launches the Goodbye program), and "Exit."

Run the Hello program (press the "Hello Button" and a MsgBox will say "Hello, world!"), and then exit (using either File -> Exit or the "x" in the top right corner of the window). You'll be brought back to the menu program. Do the same with "Goodbye" and finally Exit the menu.

The code to return from another program to the menu program can be found in the CancelClose event handler. The code to launch another program from the menu program is fairly straightforward. That leaves one remaining question: How do you get the menu program to autoload?

It all involve creating an appropriate autorun.inf file. You can find an autorun.inf editor for free at Karen's Power Tools. Here's the URL:

http://www.karenware.com/powertools/ptautorun.asp

In addition, there are many such utilities available for download on the Internet, some free, some not. Just do a Google search on

"autorun.inf" freeware

or

"autorun.inf" shareware

If you look with a text editor at the autorun.inf file I've included, you'll see that you probably don't even need a special program for the purpose.

So why not create a "CD eZine" of your own to pass along to your friends or the wider community? As you can see, it's not that difficult to do. Enjoy!

Barry



Home Page for This Blog: http://traverrbw.blogspot.com/

Programs and Files Discussed in the Blog: http://traver.org/traverrbw/

0 Comments:

Post a Comment

<< Home