No idea how to make a direct .exe like a pro but I've seen a pair of plugins (vowelizer and backtocv, I think) that use a wrapper (a bridge program between languages)
From the UTAU plugin page (
http://www20.atwiki.jp/utaou/pages/36.html ) there is a link to that wrapper -called shell wrapper- made by 雪舞うP.
It's in
http://maidroworks.sblo.jp/article/32470763.html and then click the link that says "http://www.maidro.sakura.ne.jp/utauplugin". There you can get shellwrap.zip with the thingy.
I think you could just get those two plugins I've pointed before and see how it works yourself better (I can't manage to find documentation... probably it's just there in a Japanese link, sorry).
I'll share what I've checked but don't take my word on it as I may be wrong:
In your particular plugin folder you need the wrap.exe of the downloaded zip. Then put there the .js (javascript, not java) of your program. Then make a wrap.txt and write
wscript filename.js
where filename.js is the name of your .js file.
And in the plugin.txt you use the lines
name=whatever your program
execute=wrap.exe
So it runs wrap.exe when you run the plugin. But, well, with wrap.txt we make it run the other .js program actually.
Another think is to manage the selected data. I think the wrap.exe gives the .js
WScript.Arguments.Unnamed(0)
as the data selected.
So just read and, in the end, modify that to make the program do something.
I think it's just a text variable with the selected notes in the .ust format. But it may be also the full .ust, I don't know. I guess just make experiments reading it and writting it in a .txt file.