package org.limewire.ui.swing.util; import java.io.File; import org.limewire.util.FileUtils; import org.limewire.util.OSUtils; import org.limewire.util.SystemUtils; import org.limewire.util.SystemUtils.SpecialLocations; /** * A collection of Windows-related GUI utility methods. */ public class WindowsUtils { private WindowsUtils() {} /** * Determines if we know how to set the login status. */ public static boolean isLoginStatusAvailable() { return OSUtils.isGoodWindows(); } /** * Sets the login status. Only available on W2k+. */ public static void setLoginStatus(boolean allow) { if(!isLoginStatusAvailable()) return; String path = SystemUtils.getSpecialPath(SpecialLocations.START_MENU_STARTUP); // Could not get a path for any reason including not loading SystemUtilities.dll if (path == null) { return; } File startup = new File(path); File dst = new File(startup, "LimeWire On Startup.lnk"); // No need to copy if the link is already there if (dst.exists()) return; File src = new File("LimeWire On Startup.lnk"); if(allow) FileUtils.copy(src, dst); else dst.delete(); } }