This essay does not describe an existing computer program, just one that should exist. This essay is about a suggested student project in Java programming. This essay gives a rough overview of how it might work. I have no source, object, specifications, file layouts or anything else useful to implementing this project.
This project outline is not like the artificial, tidy little problems you are spoon-fed in school, when all the facts you need are included, nothing extraneous is mentioned, the answer is fully specified, along with hints to nudge you toward a single expected canonical solution. This project is much more like the real world of messy problems where it is up to you to fully the define the end point, or a series of ever more difficult versions of this project, and research the information yourself to solve them.
Everything I have to say to help you with this project is written below. I am not prepared to help you implement it; or give you any additional materials. I have too many other projects of my own.
Though I am a programmer, 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 in any way you please and to keep all the profits from your endeavour.
Please do not email me about this project without reading the disclaimer above.
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 auxiliary path so that it is always accessible just by typing a single word.
The problem with C doing an exec is you have an anomynmous copy of java.exe visible in the task manager, instead of the original executable name. To get around this, there is an invocation API (Application Programming Interface) that lets you fire up jvm.dll with the Windows LoadLibrary() function.Steve Sobol has a project in beta using this approach.
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.
available on the web at:
optional Replicator mirror
Please email your feedback for publication, letters to the editor, errors, omissions, typos, formatting errors, ambiguities, unclear wording, broken/redirected link reports, suggestions to improve this page or comments to Roedy Green : . If you want your message, your name or email kept confidential, not considered for public posting, please explicitly specify that. Unless you state otherwise, I will treat your message as a letter to the editor that I may or may not publish in the feedback section. After that, it will be too late to retract it. If you disagree with something I said, especially when sending an ad-hominem attack, a rant composed mainly of obscenities or a death threat, please quote the offending passage and cite the web page where you found it, tell me why you think it is wrong, and, if possible, provide some supporting evidence. I can’t very well fix erroneous or ambiguous text if I can’t find it.
Your face IP:[184.108.40.206]
|Feedback||You are visitor number 8,375.|