//----------------------------------------------------------------------------//
// //
// S H E L L E X E C U T E I N F O //
// //
//----------------------------------------------------------------------------//
package hudson.util.jna;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
*
* <pre>
typedef struct _SHELLEXECUTEINFO {
DWORD cbSize;
ULONG fMask;
HWND hwnd;
LPCTSTR lpVerb;
LPCTSTR lpFile;
LPCTSTR lpParameters;
LPCTSTR lpDirectory;
int nShow;
HINSTANCE hInstApp;
LPVOID lpIDList;
LPCTSTR lpClass;
HKEY hkeyClass;
DWORD dwHotKey;
union {
HANDLE hIcon;
HANDLE hMonitor;
} DUMMYUNIONNAME;
HANDLE hProcess;
} SHELLEXECUTEINFO, *LPSHELLEXECUTEINFO;
* </pre>
* @author Kohsuke Kawaguchi
* see http://msdn.microsoft.com/en-us/library/windows/desktop/bb759784%28v=vs.85%29.aspx
*/
public class SHELLEXECUTEINFO
extends Structure
{
//~ Static fields/initializers ---------------------------------------------
public static final int SEE_MASK_NOCLOSEPROCESS = 0x40;
public static final int SW_HIDE = 0;
public static final int SW_SHOW = 0;
//~ Instance fields --------------------------------------------------------
public int cbSize = size();
public int fMask;
public Pointer hwnd;
public String lpVerb;
public String lpFile;
public String lpParameters;
public String lpDirectory;
public int nShow = 1;
public Pointer hInstApp;
public Pointer lpIDList;
public String lpClass;
public Pointer hkeyClass;
public int dwHotKey;
public Pointer hIcon;
public Pointer hProcess;
//~ Methods ----------------------------------------------------------------
@Override
protected List getFieldOrder ()
{
return Arrays.asList(
new String[] {
"cbSize", "fMask", "hwnd", "lpVerb", "lpFile", "lpParameters",
"lpDirectory", "nShow", "hInstApp", "lpIDList", "lpClass",
"hkeyClass", "dwHotKey", "hIcon", "hProcess"
});
}
}