• [原]c# 一些 win32 api 声明原型


    [DllImport("user32.dll", CharSet=CharSet.Auto, EntryPoint = "FindWindowA")]
            public static extern IntPtr FindWindowA(string lp1, string lp2);
            
                [DllImport("user32.dll", CharSet=CharSet.Auto, EntryPoint = "FindWindowExA")]
            public static extern IntPtr FindWindowExA(long han1, long han2,string lp1, string lp2);
    
            [DllImport("user32.dll", CharSet=CharSet.Auto, EntryPoint = "ShowWindow")]
            public static extern IntPtr ShowWindow(IntPtr hWnd, int _value);
    
            [DllImport("user32.dll", CharSet=CharSet.Auto)]
            public static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
    
            [DllImport("user32.dll", CharSet=CharSet.Auto, EntryPoint = "MoveWindow")]
            public static extern int MoveWindow(int hwnd, int x, int y, int nWidth, int nHeight, int bRepaint);
    
            [DllImport("user32.dll", CharSet=CharSet.Auto)]
            ///第一个参数是指定窗口句柄;第二个参数接收窗口的左上角和右下角的屏幕坐标,它是Rect结构
            private static extern int GetWindowRect(IntPtr hwnd, out  Rect lpRect);
            /// <summary>
            /// 结构体 位置
            /// </summary>
            public struct Rect
            {
                public int Left;
                public int Top;
                public int Right;
                public int Bottom;
            }
       [System.Runtime.InteropServices.DllImport("user32.DLL")]
            private static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
            [System.Runtime.InteropServices.DllImport("user32.DLL")]
            private static extern IntPtr FindWindow(string lpszClass, string lpszWindow);
            [System.Runtime.InteropServices.DllImport("user32.DLL")]
            private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
            [System.Runtime.InteropServices.DllImport("user32.dll")]
            private static extern uint GetWindowThreadProcessId(IntPtr hWnd,
    out uint dwProcessId);
            private const uint PROCESS_VM_OPERATION = 0x0008;
            private const uint PROCESS_VM_READ = 0x0010;
            private const uint PROCESS_VM_WRITE = 0x0020;
            [System.Runtime.InteropServices.DllImport("kernel32.dll")]
            private static extern IntPtr OpenProcess(uint dwDesiredAccess, bool bInheritHandle, uint dwProcessId);
            private const uint MEM_COMMIT = 0x1000;
            private const uint MEM_RELEASE = 0x8000;
            private const uint MEM_RESERVE = 0x2000;
            private const uint PAGE_READWRITE = 4;
            [System.Runtime.InteropServices.DllImport("kernel32.dll")]
            private static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect);
            [System.Runtime.InteropServices.DllImport("kernel32.dll")]
            private static extern bool VirtualFreeEx(IntPtr hProcess, IntPtr lpAddress, uint dwSize, uint dwFreeType);
            [System.Runtime.InteropServices.DllImport("kernel32.dll")]
            private static extern bool CloseHandle(IntPtr handle);
            [System.Runtime.InteropServices.DllImport("kernel32.dll")]
            private static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, IntPtr lpBuffer, int nSize, ref uint vNumberOfBytesRead);
            [System.Runtime.InteropServices.DllImport("kernel32.dll")]
            private static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress,
               IntPtr lpBuffer, int nSize, ref uint vNumberOfBytesRead);
            private struct LVITEM  //结构体
            {
                public int mask;
                public int iItem;
                public int iSubItem;
                public int state;
                public int stateMask;
                public IntPtr pszText; // string
                public int cchTextMax;
                public int iImage;
                public IntPtr lParam;
                public int iIndent;
                public int iGroupId;
                public int cColumns;
                public IntPtr puColumns;
            }
    

    作者:qq283868910 发表于2011-12-2 10:31:29 原文链接
    阅读:336 评论:0 查看评论
  • 相关阅读:
    Android Studio同时监听多个Button实现activity跳转
    Android Studio--Activity实现跳转功能
    Gym 101170F Free Weights(二分)题解
    Gym 101170I Iron and Coal(BFS + 思维)题解
    Gym 101128F Landscaping(网络流)题解
    Gym 101128A Promotions(思维 + dfs)题解
    Gym 101480I Ice Igloos(思维乱搞)题解
    Gym 101480F Frightful Formula(待定系数)题解
    Gym 101128J Saint John Festival(凸包 + 二分判点和凸包关系)题解
    CodeForces 348D Turtles(LGV定理)题解
  • 原文地址:https://www.cnblogs.com/SpeakHero/p/2431312.html
Copyright © 2020-2023  润新知