mirror of
https://github.com/Hofknecht/SystemTrayMenu.git
synced 2024-10-01 01:27:33 +13:00
42 lines
1.5 KiB
C#
42 lines
1.5 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace SystemTrayMenu.DllImports
|
|
{
|
|
public static partial class NativeMethods
|
|
{
|
|
// The TrackPopupMenuEx function displays a shortcut menu at the specified location and tracks the selection of items on the shortcut menu. The shortcut menu can appear anywhere on the screen.
|
|
[DllImport("user32.dll", ExactSpelling = true, CharSet = CharSet.Unicode)]
|
|
private static extern uint TrackPopupMenuEx(IntPtr hmenu, TPM flags, int x, int y, IntPtr hwnd, IntPtr lptpm);
|
|
|
|
internal static uint User32TrackPopupMenuEx(IntPtr hmenu, TPM flags, int x, int y, IntPtr hwnd, IntPtr lptpm)
|
|
{
|
|
return TrackPopupMenuEx(hmenu, flags, x, y, hwnd, lptpm);
|
|
}
|
|
|
|
// Specifies how TrackPopupMenuEx positions the shortcut menu horizontally
|
|
[Flags]
|
|
internal enum TPM : uint
|
|
{
|
|
LEFTBUTTON = 0x0000,
|
|
RIGHTBUTTON = 0x0002,
|
|
LEFTALIGN = 0x0000,
|
|
CENTERALIGN = 0x0004,
|
|
RIGHTALIGN = 0x0008,
|
|
TOPALIGN = 0x0000,
|
|
VCENTERALIGN = 0x0010,
|
|
BOTTOMALIGN = 0x0020,
|
|
HORIZONTAL = 0x0000,
|
|
VERTICAL = 0x0040,
|
|
NONOTIFY = 0x0080,
|
|
RETURNCMD = 0x0100,
|
|
RECURSE = 0x0001,
|
|
HORPOSANIMATION = 0x0400,
|
|
HORNEGANIMATION = 0x0800,
|
|
VERPOSANIMATION = 0x1000,
|
|
VERNEGANIMATION = 0x2000,
|
|
NOANIMATION = 0x4000,
|
|
LAYOUTRTL = 0x8000
|
|
}
|
|
}
|
|
}
|