initial oogynize check in _ this actually used to work!
This commit is contained in:
246
Deskband/BandObjectBase/ComInterop.cs
Normal file
246
Deskband/BandObjectBase/ComInterop.cs
Normal file
@@ -0,0 +1,246 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Foo.Deskband.BandObject
|
||||
{
|
||||
|
||||
abstract class ExplorerGUIDs
|
||||
{
|
||||
public static readonly Guid IID_IWebBrowserApp = new Guid("{0002DF05-0000-0000-C000-000000000046}");
|
||||
public static readonly Guid IID_IUnknown = new Guid("{00000000-0000-0000-C000-000000000046}");
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum DBIM : uint
|
||||
{
|
||||
MINSIZE = 0x0001,
|
||||
MAXSIZE = 0x0002,
|
||||
INTEGRAL = 0x0004,
|
||||
ACTUAL = 0x0008,
|
||||
TITLE = 0x0010,
|
||||
MODEFLAGS = 0x0020,
|
||||
BKCOLOR = 0x0040,
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum DBIMF : uint
|
||||
{
|
||||
NORMAL = 0x0001,
|
||||
FIXED = 0x0002,
|
||||
FIXEDBMP = 0x0004,
|
||||
VARIABLEHEIGHT = 0x0008,
|
||||
UNDELETEABLE = 0x0010,
|
||||
DEBOSSED = 0x0020,
|
||||
BKCOLOR = 0x0040,
|
||||
USECHEVRON = 0x0080,
|
||||
BREAK = 0x0100,
|
||||
ADDTOFRONT = 0x0200,
|
||||
TOPALIGN = 0x0400,
|
||||
NOGRIPPER = 0x0800,
|
||||
ALWAYSGRIPPER = 0x1000,
|
||||
NOMARGINS = 0x2000,
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum DBIF : uint
|
||||
{
|
||||
VIEWMODE_NORMAL = 0x0000,
|
||||
VIEWMODE_VERTICAL = 0x0001,
|
||||
VIEWMODE_FLOATING = 0x0002,
|
||||
VIEWMODE_TRANSPARENT = 0x0004
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential,CharSet=CharSet.Unicode)]
|
||||
public struct DESKBANDINFO
|
||||
{
|
||||
public DBIM dwMask;
|
||||
public Point ptMinSize;
|
||||
public Point ptMaxSize;
|
||||
public Point ptIntegral;
|
||||
public Point ptActual;
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=255)]
|
||||
public String wszTitle;
|
||||
public DBIMF dwModeFlags;
|
||||
public Int32 crBkgnd;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
||||
public struct CMINVOKECOMMANDINFO
|
||||
{
|
||||
uint cbSize;
|
||||
uint fMask;
|
||||
IntPtr hwnd;
|
||||
string lpVerb;
|
||||
string lpParameters;
|
||||
string lpDirectory;
|
||||
int nShow;
|
||||
uint dwHotKey;
|
||||
IntPtr hIcon;
|
||||
};
|
||||
|
||||
[ComImport]
|
||||
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||||
[Guid("FC4801A3-2BA9-11CF-A229-00AA003D7352")]
|
||||
public interface IObjectWithSite
|
||||
{
|
||||
void SetSite([In ,MarshalAs(UnmanagedType.IUnknown)] Object pUnkSite);
|
||||
void GetSite(ref Guid riid, [MarshalAs(UnmanagedType.IUnknown)] out Object ppvSite);
|
||||
}
|
||||
|
||||
[ComImport]
|
||||
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||||
[Guid("00000114-0000-0000-C000-000000000046")]
|
||||
public interface IOleWindow
|
||||
{
|
||||
void GetWindow(out System.IntPtr phwnd);
|
||||
void ContextSensitiveHelp([In] bool fEnterMode);
|
||||
}
|
||||
|
||||
[ComImport]
|
||||
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||||
[Guid("012dd920-7b26-11d0-8ca9-00a0c92dbfe8")]
|
||||
public interface IDockingWindow
|
||||
{
|
||||
void GetWindow(out System.IntPtr phwnd);
|
||||
void ContextSensitiveHelp([In] bool fEnterMode);
|
||||
|
||||
void ShowDW([In] bool fShow);
|
||||
void CloseDW([In] UInt32 dwReserved);
|
||||
void ResizeBorderDW(
|
||||
IntPtr prcBorder,
|
||||
[In, MarshalAs(UnmanagedType.IUnknown)] Object punkToolbarSite,
|
||||
bool fReserved);
|
||||
}
|
||||
|
||||
|
||||
[ComImport]
|
||||
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||||
[Guid("EB0FE172-1A3A-11D0-89B3-00A0C90A90AC")]
|
||||
public interface IDeskBand
|
||||
{
|
||||
void GetWindow(out System.IntPtr phwnd);
|
||||
void ContextSensitiveHelp([In] bool fEnterMode);
|
||||
|
||||
void ShowDW([In] bool fShow);
|
||||
void CloseDW([In] UInt32 dwReserved);
|
||||
|
||||
void ResizeBorderDW(
|
||||
IntPtr prcBorder,
|
||||
[In, MarshalAs(UnmanagedType.IUnknown)] Object punkToolbarSite,
|
||||
bool fReserved);
|
||||
|
||||
void GetBandInfo(
|
||||
UInt32 dwBandID,
|
||||
UInt32 dwViewMode,
|
||||
ref DESKBANDINFO pdbi);
|
||||
}
|
||||
|
||||
[ComImport]
|
||||
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
|
||||
[Guid("79D16DE4-ABEE-4021-8D9D-9169B261D657")]
|
||||
public interface IDeskBand2
|
||||
{
|
||||
void GetBandInfo(UInt32 dwBandID, UInt32 dwViewMode, ref DESKBANDINFO pdbi);
|
||||
|
||||
void CanRenderComposited(ref bool pfCanRenderComposited);
|
||||
|
||||
void GetCompositionState(ref bool pfCompositionEnabled);
|
||||
|
||||
void SetCompositionState([MarshalAs(UnmanagedType.Bool)] bool fCompositionEnabled);
|
||||
}
|
||||
|
||||
[ComImport]
|
||||
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||||
[Guid("0000010c-0000-0000-C000-000000000046")]
|
||||
public interface IPersist
|
||||
{
|
||||
void GetClassID(out Guid pClassID);
|
||||
}
|
||||
|
||||
|
||||
[ComImport]
|
||||
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||||
[Guid("00000109-0000-0000-C000-000000000046")]
|
||||
public interface IPersistStream
|
||||
{
|
||||
void GetClassID(out Guid pClassID);
|
||||
|
||||
void IsDirty ();
|
||||
|
||||
void Load ([In, MarshalAs(UnmanagedType.Interface)] Object pStm);
|
||||
|
||||
void Save ([In, MarshalAs(UnmanagedType.Interface)] Object pStm,
|
||||
[In] bool fClearDirty);
|
||||
|
||||
void GetSizeMax ([Out] out UInt64 pcbSize);
|
||||
}
|
||||
|
||||
|
||||
[ComImport]
|
||||
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||||
[Guid("6d5140c1-7436-11ce-8034-00aa006009fa")]
|
||||
public interface _IServiceProvider
|
||||
{
|
||||
void QueryService(
|
||||
ref Guid guid,
|
||||
ref Guid riid,
|
||||
[MarshalAs(UnmanagedType.Interface)] out Object Obj);
|
||||
}
|
||||
|
||||
|
||||
[ComImport]
|
||||
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||||
[Guid("68284faa-6a48-11d0-8c78-00c04fd918b4")]
|
||||
public interface IInputObject
|
||||
{
|
||||
void UIActivateIO(Int32 fActivate, ref MSG msg);
|
||||
|
||||
[PreserveSig]
|
||||
//[return:MarshalAs(UnmanagedType.Error)]
|
||||
Int32 HasFocusIO();
|
||||
|
||||
[PreserveSig]
|
||||
Int32 TranslateAcceleratorIO(ref MSG msg);
|
||||
}
|
||||
|
||||
[ComImport]
|
||||
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||||
[Guid("000214e4-0000-0000-c000-000000000046")]
|
||||
public interface IContextMenu
|
||||
{
|
||||
[PreserveSig()]
|
||||
int QueryContextMenu(uint hmenu, uint indexMenu, int idCmdFirst, int idCmdLast, uint uFlags);
|
||||
[PreserveSig()]
|
||||
void InvokeCommand (IntPtr pici);
|
||||
[PreserveSig()]
|
||||
void GetCommandString(int idCmd, uint uFlags, int reserved, string name, int cchMax);
|
||||
}
|
||||
|
||||
[ComImport]
|
||||
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||||
[Guid("f1db8392-7331-11d0-8c99-00a0c92dbfe8")]
|
||||
public interface IInputObjectSite
|
||||
{
|
||||
[PreserveSig]
|
||||
Int32 OnFocusChangeIS( [MarshalAs(UnmanagedType.IUnknown)] Object punkObj, Int32 fSetFocus);
|
||||
}
|
||||
|
||||
public struct POINT
|
||||
{
|
||||
public Int32 x;
|
||||
public Int32 y;
|
||||
}
|
||||
|
||||
public struct MSG
|
||||
{
|
||||
public IntPtr hwnd;
|
||||
public UInt32 message;
|
||||
public UInt32 wParam;
|
||||
public Int32 lParam;
|
||||
public UInt32 time;
|
||||
public POINT pt;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user