NativeMethods.cs
上传用户:szlfmled
上传日期:2020-11-22
资源大小:978k
文件大小:3k
源码类别:

C#编程

开发平台:

C#

  1. using System;
  2. using System.Drawing;
  3. using System.Runtime.InteropServices;
  4. using System.Diagnostics.CodeAnalysis;
  5. using WeifenLuo.WinFormsUI.Docking.Win32;
  6. namespace WeifenLuo.WinFormsUI.Docking
  7. {
  8.     internal static class NativeMethods
  9.     {
  10. [DllImport("User32.dll", CharSet=CharSet.Auto)]
  11.         [return: MarshalAs(UnmanagedType.Bool)]
  12. public static extern bool DragDetect(IntPtr hWnd, Point pt);
  13.         [DllImport("User32.dll", CharSet=CharSet.Auto)]
  14.         public static extern IntPtr GetFocus();
  15.         [DllImport("User32.dll", CharSet=CharSet.Auto)]
  16.         public static extern IntPtr SetFocus(IntPtr hWnd);
  17.         [DllImport("User32.dll", CharSet=CharSet.Auto)]
  18.         [return: MarshalAs(UnmanagedType.Bool)]
  19.         public static extern bool PostMessage(IntPtr hWnd, int Msg, uint wParam, uint lParam);
  20.         [DllImport("User32.dll", CharSet=CharSet.Auto)]
  21.         public static extern uint SendMessage(IntPtr hWnd, int Msg, uint wParam, uint lParam);
  22.         [DllImport("User32.dll", CharSet=CharSet.Auto)]
  23.         public static extern int ShowWindow(IntPtr hWnd, short cmdShow);
  24.         [DllImport("User32.dll", CharSet=CharSet.Auto)]
  25.         public static extern int SetWindowPos(IntPtr hWnd, IntPtr hWndAfter, int X, int Y, int Width, int Height, FlagsSetWindowPos flags);
  26. [DllImport("user32.dll", CharSet = CharSet.Auto)]
  27. public static extern int GetWindowLong(IntPtr hWnd, int Index);
  28. [DllImport("user32.dll", CharSet = CharSet.Auto)]
  29. public static extern int SetWindowLong(IntPtr hWnd, int Index, int Value);
  30. [DllImport("user32.dll", CharSet=CharSet.Auto)]
  31. public static extern int ShowScrollBar(IntPtr hWnd, int wBar, int bShow);
  32. [DllImport("user32.dll", CharSet=CharSet.Auto)]
  33.         //*********************************
  34.         // FxCop bug, suppress the message
  35.         //*********************************
  36.         [SuppressMessage("Microsoft.Portability", "CA1901:PInvokeDeclarationsShouldBePortable", MessageId = "0")]
  37. public static extern IntPtr WindowFromPoint(Point point);
  38.         [DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
  39.         public static extern int GetCurrentThreadId();
  40.         public delegate IntPtr HookProc(int code, IntPtr wParam, IntPtr lParam);
  41.         [DllImport("user32.dll")]
  42.         public static extern IntPtr SetWindowsHookEx(Win32.HookType code, HookProc func, IntPtr hInstance, int threadID);
  43.         [DllImport("user32.dll")]
  44.         public static extern int UnhookWindowsHookEx(IntPtr hhook);
  45.         [DllImport("user32.dll")]
  46.         public static extern IntPtr CallNextHookEx(IntPtr hhook, int code, IntPtr wParam, IntPtr lParam);
  47. }
  48. }