> If fork is before show window,then window wont initailise > untill forked sub exits.
I vaguely remember that fork() does a subroutine call and does not actually launch another task. If you use backtick instead (as in `runme.exe /option=param` or rather `perl.exe yetanotherscript.pl`), your called script will run concurrently with the caller, so that the caller can keep taking care of the GUI. That is, as far as I remember ... it might be altogether totally different.