Stop a Java app from stealing my screen
May 7, 2010 5:08 PM

Hideous misfeature-filter: how can I stop a Java application I am running (via the JRE on Windows 7) from resizing its program window so that it takes over my whole screen, thus blocking me from seeing or accessing other programs or the Windows desktop until I quit the thing?

More details: the main window of the Java app is resizable via normal Windows UI controls, but it spawns a second window at certain times, and this is the one that takes over the screen and provides no access to Windows UI chrome or other running programs. Alt-tab/win-tab will not hide this demon window. Note: the application was deliberately coded in this unpleasant fashion, for reasons that are unclear to me.

To be clear, this is a compiled Java application I am running straight from my Windows 7 Pro x64 desktop (its app shortcut is calling "C:\WINDOWS\system32\javaws.exe" and passing it the filesystem path to the application's jar files. I've gone through the Java runtime env't settings panels and can find nothing. Web searches bring up nothing but abstruse developer documentation intended for people CODING applications, not simply running them.
posted by killdevil to Computers & Internet (2 answers total)
There may be some generic windows UI helper application that would resolve this. But, I'm not a Windows guy, so I can't recommend one.

But, as a Java programmer, I can pretty much tell you that there's nothing you can do as the user if the program does this. Java is an application-level language, just like C++; it doesn't have system-wide settings that will affect this sort of thing. There are very few controls that the JRE has over an application's behavior... the control usually goes the other way, with the application instructing the VM how to behave.

Short of patching the program, you're pretty much SOL.

That said, if you are a Java programmer, patching Java is pretty damn easy. There are all sorts of decompilers. Decompile it, find where it spawns the window, change the call so that it doesn't take up the full screen, then recompile. This would be an afternoon's work, probably. [If you lack the skills, and care enough, drop me a memail and we can work something out.]
posted by Netzapper at 5:17 PM on May 7, 2010


If it's Free Software, fix the code. If it's proprietary software, you're fucked -- that's the whole point of proprietary software, to fuck you. Ask for your money back and write a Free alternative.
posted by jrockway at 1:44 AM on May 8, 2010


« Older A challenge for engineers?   |   Jury deliberation on demand Newer »
This thread is closed to new comments.