Creating a new protocol (http, https, file, ftp...) is a big job. I'm not sure there's an easy way to register it with browsers.
For good reason executing programs from a web page has been made very difficult.
Given that I can't imagine a software creator giving you such capabilities out of the box.
In the last couple of days I have had a similar idea (launching processes from the browser) at the back of my head so I spent a few minutes roughing out a solution. If you could define custom batch reports this might be feasible. (I haven't worked through it in detail though!)
What I came up with.
1. I only tried IE. (I expected it to be most likely. This was an up-to-date IE8, only)
2. I used ShellExecute of the Shell.Application ActiveX object.
3. I used an HTA as I remember something about restrictions on HTM's.
4. I literally played for a couple of minutes, so there's likely gonna be problems.
BUT it did work (
surprised me for the effort I put in!)
I used an HTA, with a JavaScript in the head and a button in the body. (No parameters passed.)
Follows the useful bits:
<script type="text/javascript" LANGUAGE="JavaScript">
function ValidateFile()
{
var oShell = new ActiveXObject("Shell.Application");
var commandtoRun = "Your_Path\\cse100.exe";
oShell.ShellExecute(commandtoRun, "", "", "open", "1");
}
</script>
<button onclick="ValidateFile()">Fire up Validator</button>
So (assuming this is all that's needed)
if you find a way to:
1) Output HTA's.
2) Add a script into the head.
3) Create batch reports with custom markup.
4) ...
It is worth exploring.I haven't even thought about ways to achieve the above, but it is a pretty trivial job if you can fire a process automatically when batch reports are generated. (Or generate custom batch reports from the start.)
A somewhat similar approach, but a bit more work, would be to have a web service on your local machine (say at localhost, but your choice), that took a string of parameters and fired up the process from server side code. (I presume that is quite doable but haven't roughed out an application that does it.) Then all you need is an href with suitable URI.Update: I ran a few more tests. It
works with IE9 on Windows 7. It
doesn't work with (in my tests so far) FF, Safari, Chrome or Opera. (With a wide variety of UI behaviours.) So it is usable for a single user, but not for a general, anything goes, audience! It's easy to set it up as a self editing file, through CSE (after you enable the HTA extension), which is cool and suggests a few uses.