Package com.sun.jna.platform.win32

# Class Shell32Util

java.lang.Object
com.sun.jna.platform.win32.Shell32Util

public abstract class Shell32Util extends Object
Shell32 Utility API.

Author:
  dblock[at]dblock.org, markus[at]headcrashing[dot]eu

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Shell32Util()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static final String[]`
  `CommandLineToArgv(String cmdLine)`
  Parses a command line string and returns an array of Strings of the command line arguments.
  `static String`
  `getFolderPath(int nFolder)`
  Get a special folder path.
  `static String`
  `getFolderPath(WinDef.HWND hwnd, int nFolder, WinDef.DWORD dwFlags)`
  Get a special folder path.
  `static String`
  `getKnownFolderPath(Guid.GUID guid)`
  Retrieves the full path of a known folder identified by the folder's KNOWNFOLDERID.
  `static final String`
  `getSpecialFolderPath(int csidl, boolean create)`
  Retrieves the path of a special folder, identified by its CSIDL.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### Shell32Util

    public Shell32Util()

- ## Method Details

  - ### getFolderPath

    public static String getFolderPath(WinDef.HWND hwnd, int nFolder, WinDef.DWORD dwFlags)
    Get a special folder path.
    Parameters:
      `hwnd` - Parent window.
      `nFolder` - Folder CSLID.
      `dwFlags` - Flags.
    Returns:
      Special folder.

  - ### getFolderPath

    public static String getFolderPath(int nFolder)
    Get a special folder path.
    Parameters:
      `nFolder` - Folder CSLID.
    Returns:
      Special folder path.

  - ### getKnownFolderPath

    public static String getKnownFolderPath(Guid.GUID guid) throws Win32Exception
    Retrieves the full path of a known folder identified by the folder's KNOWNFOLDERID. This function replaces `getFolderPath(com.sun.jna.platform.win32.WinDef.HWND, int, com.sun.jna.platform.win32.WinDef.DWORD)`. That older function is now simply a wrapper for getKnownFolderPath
    Parameters:
      `guid` - the KNOWNFOLDERS GUID as defined in `KnownFolders`
    Returns:
      the path of the known folder. The returned path does not include a trailing backslash. For example, "C:\Users" is returned rather than "C:\Users\".
    Throws:
      `Win32Exception` - if the guid references a KNOWNFOLDERID which does not have a path (such as a folder marked as KF_CATEGORY_VIRTUAL) or that the KNOWNFOLDERID is not present on the system. Not all KNOWNFOLDERID values are present on all systems.

  - ### getSpecialFolderPath

    public static final String getSpecialFolderPath(int csidl, boolean create)
    Retrieves the path of a special folder, identified by its CSIDL.
    Parameters:
      `csidl` - A CSIDL that identifies the folder of interest. If a virtual folder is specified, this function will fail.
      `create` - Indicates whether the folder should be created if it does not already exist. If this value is nonzero, the folder is created. If this value is zero, the folder is not created.
    Returns:
      The drive and path of the specified folder

  - ### CommandLineToArgv

    public static final String[] CommandLineToArgv(String cmdLine)
    Parses a command line string and returns an array of Strings of the command line arguments.
    Parameters:
      `cmdLine` - A string that contains the full command line. If this parameter is an empty string the function returns the path to the current executable file.
    Returns:
      An array of strings, similar to `argv`.