C#如何使用API函数?

解决方案 »

  1.   

            [DllImport("user32.dll")]
            static extern int GetClassName(
                IntPtr hWnd,
                StringBuilder lpClassName,
                int nMaxCount
                );
      

  2.   

    platform invoke参考:
    Platform Invoke Tutorial
    http://msdn.microsoft.com/en-us/library/aa288468.aspxSample Code:
    using System.Runtime.InteropServices;
    1。 [DllImport("user32.dll")]
        public static extern int MessageBox(int hWnd, String text, 
                                           String caption, uint type);2. using System.Runtime.InteropServices;[StructLayout(LayoutKind.Sequential)]
    public struct Point {
        public int x;
        public int y;
    }   [StructLayout(LayoutKind.Explicit)]
    public struct Rect {
        [FieldOffset(0)] public int left;
        [FieldOffset(4)] public int top;
        [FieldOffset(8)] public int right;
        [FieldOffset(12)] public int bottom;
    }   class Win32API {
        [DllImport("User32.dll")]
        public static extern bool PtInRect(ref Rect r, Point p);
      

  3.   

    using System.Runtime.InteropServices; 
    [DllImport("user32.dll")]
    public static extern ReturnType FunctionName(type arg1,type arg2,...);
    http://www.cnblogs.com/cdo/archive/2005/08/05/208128.html