public static void ShowProperties(IPluginServer pluginServer) { const int SEE_MASK_INVOKEIDLIST = 0x0000000c; const int SEE_MASK_FLAG_NO_UI = 0x00000400; try { IntPtr pIDL = PInvoke.CreatePIDL(pluginServer.SelectedTab.Address.ITEMIDLIST); if (pIDL != IntPtr.Zero) { SHELLEXECUTEINFO sei = new SHELLEXECUTEINFO(); sei.cbSize = Marshal.SizeOf(sei); sei.fMask = SEE_MASK_INVOKEIDLIST | SEE_MASK_FLAG_NO_UI; sei.lpVerb = "properties"; sei.lpIDList = pIDL; ShellExecuteEx(ref sei); Marshal.FreeCoTaskMem(pIDL); } } catch { } }
private static extern bool ShellExecuteEx(ref SHELLEXECUTEINFO lpExecInfo);
public static void ShowProperties(IPluginServer pluginServer) { const int SEE_MASK_INVOKEIDLIST = 0x0000000c; const int SEE_MASK_FLAG_NO_UI = 0x00000400; try { IntPtr pIDL = PInvoke.CreatePIDL(pluginServer.SelectedTab.Address.ITEMIDLIST); if(pIDL != IntPtr.Zero) { SHELLEXECUTEINFO sei = new SHELLEXECUTEINFO(); sei.cbSize = Marshal.SizeOf(sei); sei.fMask = SEE_MASK_INVOKEIDLIST | SEE_MASK_FLAG_NO_UI; sei.lpVerb = "properties"; sei.lpIDList = pIDL; ShellExecuteEx(ref sei); Marshal.FreeCoTaskMem(pIDL); } } catch { } }