I do contract work for a living, which could include writing a program such as this. However, I don’t do people’s homework for them. That just robs them of an education.
You have my full permission to implement this project any way you please.
Windows shortcuts are lame. They don’t let you specify command line parameters. They don’t let you fill in any additional information at launch time.
You then put this kicker either on the path or on the virtual path in the registry so that it is always accessible just by typing a single word.
One approach would be to write a file describing the kicker (perhaps a simplified bat file), then feed it to your Java program that emits an equivalent C program, execs the compiler, and puts the resulting exe on the path or in the registry. The difficulty here is customising the program to deal with differing C compilers. People who might want to use your kicker might not even own a C compiler or be afraid to install a free one.
So another approach is to write a generic kicker and patch the executable. You could either patch the data in directly into arrays big enough to handle the worst case, or you could patch in the name of a file that had the predigested data in it. You don’t want to have to pass the name of the descriptor file to the kicker on the command line. That would destroy its simplicity and convenience.
You have to be slightly devious in patching an executable to avoid triggering virus detectors. They may freak at any attempt to patch an executable. You have to give your template an innocuous extension, patch it, then rename the result.
You could have kickers that ask questions and use the answers to generate alternate command lines or set parmeters, e.g. to select which printer to use.
You could have kickers that have command line parameters they massage and pass through to the application.
The windows registry entry lets you specify the exe and the default dirctory, but no parameters. You could implement parameterless kickers purely with registry entries in Windows.
![]() |
and suggestions to improve this page to Roedy Green : | ||
| Canadian Mind Products | |||
| mindprod.com IP:[65.110.21.43] | |||
| Your face IP:[38.103.63.18] | ![]() | ||
| You are visitor number 1,122. | |||
| You can get a fresh copy of this page from: | or possibly from your local J: drive (Java virtual drive/Mindprod website mirror) | ||
| http://mindprod.com/project/kicker.html | J:\mindprod\project\kicker.html | ||