com.denova.runtime
Class WindowsMenus

java.lang.Object
  |
  +--com.denova.runtime.WindowsCmdFile
        |
        +--com.denova.runtime.WindowsMenus
All Implemented Interfaces:
WindowsConstants

public class WindowsMenus
extends com.denova.runtime.WindowsCmdFile
implements WindowsConstants

Manage menus and desktop icons for Windows.

Author:
DeNova Copyright © 1997-2008 DeNova All rights reserved worldwide.

Field Summary
 
Fields inherited from interface com.denova.runtime.WindowsConstants
AddRegistryEntry, AllUsers, AppendRegistryEntry, BinaryType, CurrentUser, DeleteRegistryEntry, DesktopSpecFilename, DirectoryResultsFilename, DWordType, EnumKeyRegistryEntry, EnumValueRegistryEntry, EnvOutputFilename, ExistsRegistryEntry, FreeDiskSpaceResultsFilename, InvokerFilename, MenuSpecFilename, NtResultsFilename, PathOutputFilename, PrependRegistryEntry, QueryRegistryEntry, RegistryResultsFilename, RegistrySpecFilename, ReplaceRegistryEntry, ShortnameFilename, StringType, WindowsAddDesktop, WindowsAddProgramsMenu, WindowsAddStartupMenu, WindowsAppDataCommand, WindowsCmdLogFilename, WindowsCommandsFilename, WindowsDelDesktop, WindowsDelProgramsMenu, WindowsDelStartupMenu, WindowsDesktopCommand, WindowsDesktopDirCommand, WindowsDirCommand, WindowsEnvVariableCommand, WindowsFreeDiskSpaceCommand, WindowsMenusDirCommand, WindowsNtCommand, WindowsPathCommand, WindowsPathShortenerCommand, WindowsProgramManagerDirCommand, WindowsProgramsMenuCommand, WindowsRegistryEditorCommand, WindowsStartupMenuCommand, WindowsStartupMenusDirCommand
 
Constructor Summary
WindowsMenus()
           
WindowsMenus(com.denova.io.Log newLog)
           
 
Method Summary
 boolean addDesktopShortcut(java.lang.String itemName, java.lang.String submenu, java.lang.String dir, boolean useJavaCommandPrefix, boolean useJavaConsole, java.lang.String javaCommandPrefix, java.lang.String executableFile, java.lang.String commandLineArguments, java.lang.String windowStyle, java.lang.String icon)
          Add shortcut to the Desktop for the current user.
 boolean addDesktopShortcut(java.lang.String itemName, java.lang.String submenu, java.lang.String dir, boolean useJavaCommandPrefix, boolean useJavaConsole, java.lang.String javaCommandPrefix, java.lang.String executableFile, java.lang.String commandLineArguments, java.lang.String windowStyle, java.lang.String icon, java.lang.String user)
          Add shortcut to the Desktop.
 boolean addDesktopShortcut(java.lang.String itemName, java.lang.String submenu, java.lang.String dir, boolean useJavaCommandPrefix, java.lang.String javaCommandPrefix, java.lang.String executableFile, java.lang.String commandLineArguments, java.lang.String windowStyle, java.lang.String icon)
          Add shortcut to the Desktop for the current user.
 boolean addDesktopShortcut(java.lang.String itemName, java.lang.String submenu, java.lang.String dir, java.lang.String executableFile, java.lang.String commandLineArguments, java.lang.String windowStyle, java.lang.String icon)
          Add shortcut to the Desktop for the current user.
 boolean addMenuItem(java.lang.String submenu, java.lang.String itemName, java.lang.String dir, boolean useJavaCommandPrefix, boolean useJavaConsole, java.lang.String javaCommandPrefix, java.lang.String executableFile, java.lang.String commandLineArguments, java.lang.String windowStyle, java.lang.String icon)
          Add menu item to Start | Programs for the current user.
 boolean addMenuItem(java.lang.String submenu, java.lang.String itemName, java.lang.String dir, boolean useJavaCommandPrefix, boolean useJavaConsole, java.lang.String javaCommandPrefix, java.lang.String executableFile, java.lang.String commandLineArguments, java.lang.String windowStyle, java.lang.String icon, java.lang.String user)
          Add menu item to Start | Programs.
 boolean addMenuItem(java.lang.String submenu, java.lang.String itemName, java.lang.String dir, boolean useJavaCommandPrefix, java.lang.String javaCommandPrefix, java.lang.String executableFile, java.lang.String commandLineArguments, java.lang.String windowStyle, java.lang.String icon)
          Add menu item to Start | Programs for the current user.
 boolean addMenuItem(java.lang.String submenu, java.lang.String itemName, java.lang.String dir, java.lang.String executableFile, java.lang.String commandLineArguments, java.lang.String windowStyle, java.lang.String icon)
          Add menu item to Start | Programs for the current user.
 boolean addStartupMenuItem(java.lang.String itemName, java.lang.String dir, boolean useJavaCommandPrefix, boolean useJavaConsole, java.lang.String javaCommandPrefix, java.lang.String executableFile, java.lang.String commandLineArguments, java.lang.String windowStyle, java.lang.String icon)
          Add menu item to Start | Programs | Startup for the current user.
 boolean addStartupMenuItem(java.lang.String itemName, java.lang.String dir, boolean useJavaCommandPrefix, boolean useJavaConsole, java.lang.String javaCommandPrefix, java.lang.String executableFile, java.lang.String commandLineArguments, java.lang.String windowStyle, java.lang.String icon, java.lang.String user)
          Add menu item to Start | Programs | Startup.
 boolean addStartupMenuItem(java.lang.String itemName, java.lang.String dir, boolean useJavaCommandPrefix, java.lang.String javaCommandPrefix, java.lang.String executableFile, java.lang.String commandLineArguments, java.lang.String windowStyle, java.lang.String icon)
          Add menu item to Start | Programs | Startup for the current user.
 boolean addStartupMenuItem(java.lang.String itemName, java.lang.String dir, java.lang.String executableFile, java.lang.String commandLineArguments, java.lang.String windowStyle, java.lang.String icon)
          Add menu item to Start | Programs | Startup for the current user.
 boolean deleteDesktopShortcut(java.lang.String itemName, java.lang.String submenu)
          Delete shortcut to the Desktop for the current user.
 boolean deleteDesktopShortcut(java.lang.String itemName, java.lang.String submenu, java.lang.String user)
          Delete shortcut to the Desktop.
 boolean deleteMenuItem(java.lang.String submenu, java.lang.String itemName)
          Delete menu item from Start | Programs for the current user.
 boolean deleteMenuItem(java.lang.String submenu, java.lang.String itemName, java.lang.String user)
          Delete menu item from Start | Programs.
 boolean deleteStartupMenuItem(java.lang.String itemName)
          Delete menu item from Start | Programs | Startup for the current user.
 boolean deleteStartupMenuItem(java.lang.String itemName, java.lang.String user)
          Delete menu item from Start | Programs | Startup.
static java.lang.String getArguments(java.lang.String dir, boolean useJavaCommandPrefix, boolean useJavaConsole, java.lang.String javaCommandPrefix, java.lang.String executableFile, java.lang.String commandLineArguments)
          Get the arguments used by the executable.
static java.lang.String getArguments(java.lang.String dir, boolean useJavaCommandPrefix, java.lang.String javaCommandPrefix, java.lang.String executableFile, java.lang.String commandLineArguments)
          Get the arguments used by the executable.
 java.util.List getCreatedDirs()
          Get the list of any newly created dirs while creating menu.
static java.lang.String getExecutable(java.lang.String dir, boolean useJavaCommandPrefix, boolean useJavaConsole, java.lang.String javaCommandPrefix, java.lang.String executableFile)
          Get the full pathname for the executable.
static java.lang.String getExecutable(java.lang.String dir, boolean useJavaCommandPrefix, java.lang.String javaCommandPrefix, java.lang.String executableFile)
          Get the full pathname for the executable.
 
Methods inherited from class com.denova.runtime.WindowsCmdFile
getCommandProgram, getCommandProgramFilename
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WindowsMenus

public WindowsMenus()

WindowsMenus

public WindowsMenus(com.denova.io.Log newLog)
Method Detail

getExecutable

public static java.lang.String getExecutable(java.lang.String dir,
                                             boolean useJavaCommandPrefix,
                                             java.lang.String javaCommandPrefix,
                                             java.lang.String executableFile)
Get the full pathname for the executable.

Returns:
pathname; on failure, returns null.


getExecutable

public static java.lang.String getExecutable(java.lang.String dir,
                                             boolean useJavaCommandPrefix,
                                             boolean useJavaConsole,
                                             java.lang.String javaCommandPrefix,
                                             java.lang.String executableFile)
Get the full pathname for the executable.

Returns:
pathname; on failure, returns null.


getArguments

public static java.lang.String getArguments(java.lang.String dir,
                                            boolean useJavaCommandPrefix,
                                            java.lang.String javaCommandPrefix,
                                            java.lang.String executableFile,
                                            java.lang.String commandLineArguments)
Get the arguments used by the executable.

Returns:
the arguments; on failure, returns null.


getArguments

public static java.lang.String getArguments(java.lang.String dir,
                                            boolean useJavaCommandPrefix,
                                            boolean useJavaConsole,
                                            java.lang.String javaCommandPrefix,
                                            java.lang.String executableFile,
                                            java.lang.String commandLineArguments)
Get the arguments used by the executable.

Returns:
the arguments; on failure, returns null.


addMenuItem

public boolean addMenuItem(java.lang.String submenu,
                           java.lang.String itemName,
                           java.lang.String dir,
                           java.lang.String executableFile,
                           java.lang.String commandLineArguments,
                           java.lang.String windowStyle,
                           java.lang.String icon)
Add menu item to Start | Programs for the current user.

Parameters:
submenu - Menu under the Start | Programs.
itemName - Name of the menu item under the submenu
dir - Starting directory.
executableFile - Executable file to run when menu selected.
commandLineArguments - Command line arguments.
windowStyle - Style of window.
icon - Pathname to icon for menu.
Returns:
true if itemName was successfully added


addMenuItem

public boolean addMenuItem(java.lang.String submenu,
                           java.lang.String itemName,
                           java.lang.String dir,
                           boolean useJavaCommandPrefix,
                           java.lang.String javaCommandPrefix,
                           java.lang.String executableFile,
                           java.lang.String commandLineArguments,
                           java.lang.String windowStyle,
                           java.lang.String icon)
Add menu item to Start | Programs for the current user.

Parameters:
submenu - Menu under the Start | Programs or blank.
itemName - Name of the menu item under the submenu
dir - Starting directory.
useJavaCommandPrefix - true if java app
javaCommandPrefix - java command, with java switches, exclusive of the main class and command line args
executableFile - Executable file to run when menu selected.
commandLineArguments - Command line arguments.
windowStyle - window style
icon - icon pathname
Returns:
true if itemName was successfully added


addMenuItem

public boolean addMenuItem(java.lang.String submenu,
                           java.lang.String itemName,
                           java.lang.String dir,
                           boolean useJavaCommandPrefix,
                           boolean useJavaConsole,
                           java.lang.String javaCommandPrefix,
                           java.lang.String executableFile,
                           java.lang.String commandLineArguments,
                           java.lang.String windowStyle,
                           java.lang.String icon)
Add menu item to Start | Programs for the current user.

Parameters:
submenu - Menu under the Start | Programs or blank.
itemName - Name of the menu item under the submenu
dir - Starting directory.
useJavaCommandPrefix - true if java app
useJavaConsole - true if java console should be used
javaCommandPrefix - java command, with java switches, exclusive of the main class and command line args
executableFile - Executable file to run when menu selected.
commandLineArguments - Command line arguments.
windowStyle - window style
icon - icon pathname
Returns:
true if itemName was successfully added


addMenuItem

public boolean addMenuItem(java.lang.String submenu,
                           java.lang.String itemName,
                           java.lang.String dir,
                           boolean useJavaCommandPrefix,
                           boolean useJavaConsole,
                           java.lang.String javaCommandPrefix,
                           java.lang.String executableFile,
                           java.lang.String commandLineArguments,
                           java.lang.String windowStyle,
                           java.lang.String icon,
                           java.lang.String user)
Add menu item to Start | Programs.

Parameters:
submenu - Menu under the Start | Programs or blank.
itemName - Name of the menu item under the submenu
dir - Starting directory.
useJavaCommandPrefix - true if java app
useJavaConsole - true if java console should be used
javaCommandPrefix - java command, with java switches, exclusive of the main class and command line args
executableFile - Executable file to run when menu selected.
commandLineArguments - Command line arguments.
windowStyle - Window style
icon - Icon pathname
user - Current or All
Returns:
true if itemName was successfully added


deleteMenuItem

public boolean deleteMenuItem(java.lang.String submenu,
                              java.lang.String itemName)
Delete menu item from Start | Programs for the current user.

Parameters:
submenu -
itemName - Name of the menu item under the submenu
Returns:
true if itemName is successfully removed


deleteMenuItem

public boolean deleteMenuItem(java.lang.String submenu,
                              java.lang.String itemName,
                              java.lang.String user)
Delete menu item from Start | Programs.

Parameters:
submenu -
itemName - Name of the menu item under the submenu
user -
Returns:
true if itemName is successfully removed


addStartupMenuItem

public boolean addStartupMenuItem(java.lang.String itemName,
                                  java.lang.String dir,
                                  java.lang.String executableFile,
                                  java.lang.String commandLineArguments,
                                  java.lang.String windowStyle,
                                  java.lang.String icon)
Add menu item to Start | Programs | Startup for the current user.

Parameters:
itemName - name of menu item
dir - working directory
executableFile - executable file
commandLineArguments - command line arguments
windowStyle - window style
icon - icon pathname
Returns:
true if itemName is successfully added


addStartupMenuItem

public boolean addStartupMenuItem(java.lang.String itemName,
                                  java.lang.String dir,
                                  boolean useJavaCommandPrefix,
                                  java.lang.String javaCommandPrefix,
                                  java.lang.String executableFile,
                                  java.lang.String commandLineArguments,
                                  java.lang.String windowStyle,
                                  java.lang.String icon)
Add menu item to Start | Programs | Startup for the current user.

Parameters:
itemName - name of menu item
dir - working directory
useJavaCommandPrefix - true if java app
javaCommandPrefix - java command, with java switches, exclusive of the main class and command line args
executableFile - executable file
commandLineArguments - command line arguments
windowStyle - window style
icon - icon pathname
Returns:
true if itemName is successfully added

addStartupMenuItem

public boolean addStartupMenuItem(java.lang.String itemName,
                                  java.lang.String dir,
                                  boolean useJavaCommandPrefix,
                                  boolean useJavaConsole,
                                  java.lang.String javaCommandPrefix,
                                  java.lang.String executableFile,
                                  java.lang.String commandLineArguments,
                                  java.lang.String windowStyle,
                                  java.lang.String icon)
Add menu item to Start | Programs | Startup for the current user.

Parameters:
itemName - name of menu item
dir - working directory
useJavaCommandPrefix - true if java app
useJavaConsole - true if java console should be used
javaCommandPrefix - java command, with java switches, exclusive of the main class and command line args
executableFile - executable file
commandLineArguments - command line arguments
windowStyle - window style
icon - icon pathname
Returns:
true if itemName is successfully added

addStartupMenuItem

public boolean addStartupMenuItem(java.lang.String itemName,
                                  java.lang.String dir,
                                  boolean useJavaCommandPrefix,
                                  boolean useJavaConsole,
                                  java.lang.String javaCommandPrefix,
                                  java.lang.String executableFile,
                                  java.lang.String commandLineArguments,
                                  java.lang.String windowStyle,
                                  java.lang.String icon,
                                  java.lang.String user)
Add menu item to Start | Programs | Startup.

Parameters:
itemName -
dir -
useJavaCommandPrefix -
useJavaConsole -
javaCommandPrefix -
executableFile -
commandLineArguments -
windowStyle -
icon -
user -
Returns:
true if itemName is successfully added


deleteStartupMenuItem

public boolean deleteStartupMenuItem(java.lang.String itemName)
Delete menu item from Start | Programs | Startup for the current user.

Parameters:
itemName -
Returns:
true if itemName is successfully removed


deleteStartupMenuItem

public boolean deleteStartupMenuItem(java.lang.String itemName,
                                     java.lang.String user)
Delete menu item from Start | Programs | Startup.

Parameters:
itemName -
user -
Returns:
true if itemName is successfully removed


addDesktopShortcut

public boolean addDesktopShortcut(java.lang.String itemName,
                                  java.lang.String submenu,
                                  java.lang.String dir,
                                  java.lang.String executableFile,
                                  java.lang.String commandLineArguments,
                                  java.lang.String windowStyle,
                                  java.lang.String icon)
Add shortcut to the Desktop for the current user.

Parameters:
itemName - name of desktop item
submenu - folder where item it stored, or blank if none
dir - working directory
executableFile - executable file
commandLineArguments - command line arguments
windowStyle - window style
icon - icon pathname
Returns:
true if item was successfully added


addDesktopShortcut

public boolean addDesktopShortcut(java.lang.String itemName,
                                  java.lang.String submenu,
                                  java.lang.String dir,
                                  boolean useJavaCommandPrefix,
                                  java.lang.String javaCommandPrefix,
                                  java.lang.String executableFile,
                                  java.lang.String commandLineArguments,
                                  java.lang.String windowStyle,
                                  java.lang.String icon)
Add shortcut to the Desktop for the current user.

Parameters:
itemName - name of desktop item
submenu - folder where item it stored, or blank if none
dir - working directory
useJavaCommandPrefix - true if java app
javaCommandPrefix - java command, with java switches, exclusive of the main class and command line args
executableFile - executable file
commandLineArguments - command line arguments
windowStyle - window style
icon - icon pathname
Returns:
true if shortcut successfully added


addDesktopShortcut

public boolean addDesktopShortcut(java.lang.String itemName,
                                  java.lang.String submenu,
                                  java.lang.String dir,
                                  boolean useJavaCommandPrefix,
                                  boolean useJavaConsole,
                                  java.lang.String javaCommandPrefix,
                                  java.lang.String executableFile,
                                  java.lang.String commandLineArguments,
                                  java.lang.String windowStyle,
                                  java.lang.String icon)
Add shortcut to the Desktop for the current user.

Parameters:
itemName - name of desktop item
submenu - folder where item it stored, or blank if none
dir - working directory
useJavaCommandPrefix - true if java app
useJavaConsole - true if java console should be used
javaCommandPrefix - java command, with java switches, exclusive of the main class and command line args
executableFile - executable file
commandLineArguments - command line arguments
windowStyle - window style
icon - icon pathname
Returns:
true if shortcut successfully added


addDesktopShortcut

public boolean addDesktopShortcut(java.lang.String itemName,
                                  java.lang.String submenu,
                                  java.lang.String dir,
                                  boolean useJavaCommandPrefix,
                                  boolean useJavaConsole,
                                  java.lang.String javaCommandPrefix,
                                  java.lang.String executableFile,
                                  java.lang.String commandLineArguments,
                                  java.lang.String windowStyle,
                                  java.lang.String icon,
                                  java.lang.String user)
Add shortcut to the Desktop.

Parameters:
itemName - name of desktop item
submenu - folder where item it stored, or blank if none
dir - working directory
useJavaCommandPrefix - true if java app
useJavaConsole - true if java console should be used
javaCommandPrefix - java command, with java switches, exclusive of the main class and command line args
executableFile - executable file
commandLineArguments - command line arguments
windowStyle - window style
icon - icon pathname
user - Current or All
Returns:
true if shortcut successfully added


deleteDesktopShortcut

public boolean deleteDesktopShortcut(java.lang.String itemName,
                                     java.lang.String submenu)
Delete shortcut to the Desktop for the current user.

Parameters:
itemName -
submenu -
Returns:
true if shortcut successfully deleted


deleteDesktopShortcut

public boolean deleteDesktopShortcut(java.lang.String itemName,
                                     java.lang.String submenu,
                                     java.lang.String user)
Delete shortcut to the Desktop.

Parameters:
itemName -
submenu -
user -
Returns:
true if shortcut successfully deleted


getCreatedDirs

public java.util.List getCreatedDirs()
Get the list of any newly created dirs while creating menu.

Returns:
list of directories created by mkdirs or null if no dirs created.