int i = JOptionPane.showConfirmDialog(
hf,
"<html>Windows Betriebssysteme neuerer Generation<p/>" +
"verfügen über einen eingebauten ZIP-Extraktor,<p/>" +
"mit dem ZIP-Archive wie normale Ordner behandelt<p/>" +
"werden können. Diese Funktionalität verlangsamt</p>" +
"allerdings das System erheblich, insbesondere wenn<p/>" +
"Dateien aufgelistet werden. Mit dieser Problembehebung<p/>" +
"wird diese Funktionalität unterbunden. <p/><p/>" +
"Ferner wird die Datei 'undoremovezipordner.bat' angelegt,<p/>" +
"die diese Aktion wieder rückgängig macht.<p/><p/>" +
"Da sich Windows regelmäßig selbst 'repariert', muß<p/>" +
"diese Aktion später ggf. erneut durchgefügrt werden.<p/><p/>" +
"SOLL DIE AKTION JETZT DURCHGEFÜHRT WERDEN?"
,
"Erklärung / Entscheidung",
JOptionPane.YES_NO_OPTION);
if(i==0)
{
try
{
PrintWriter pw = new PrintWriter("removezipordner.bat");
pw.println("regsvr32 /u %windir%\\system32\\zipfldr.dll");
pw.close();
Runtime.getRuntime().exec("removezipordner.bat");
System.out.println("Befehl erfolgreich an das Betriebssystem geschickt.");
} catch (IOException e)
{
System.out.println("Fehler bei der Problembehebung. Bitte geben Sie unter Windows in die Konsole den Befehl <strong>regsvr32 /u %windir%\\system32\\zipfldr.dll</strong> ein.");
e.printStackTrace();
}
try
{
PrintWriter pw = new PrintWriter("undoremovezipordner.bat");
pw.println("regsvr32 %windir%\\system32\\zipfldr.dll");
pw.close();
System.out.println("'undoremovezipordner.bat' erfolgreich erstellt.");
} catch (IOException e)
{
System.out.println("Fehler bei der Erstellung der Undo-Datei. Sie können die Aktion manuell rückgängig machen. Tippen Sie dazu den Befehl <strong>regsvr32 %windir%\\system32\\zipfldr.dll</strong> in die Windows-Konsole.");
e.printStackTrace();
}
}