Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
kernel32.dll API的包装器C#_C#_Winapi_Wrapper_Kernel32 - Fatal编程技术网

kernel32.dll API的包装器C#

kernel32.dll API的包装器C#,c#,winapi,wrapper,kernel32,C#,Winapi,Wrapper,Kernel32,任何有wrapps kernel32 API、所有函数、方法和结构的助手类?或者任何包装器生成器 我希望C#中的kernel32.dll的所有方法如下: [DllImport("kernel32.dll",EntryPoint="RtlMoveMemory")] public static extern void RtlMoveMemory(int des, int src, int count); [DllImport("kernel32.dll", Ent

任何有wrapps kernel32 API、所有函数、方法和结构的助手类?或者任何包装器生成器

我希望C#中的kernel32.dll的所有方法如下:

 [DllImport("kernel32.dll",EntryPoint="RtlMoveMemory")]
        public static extern void RtlMoveMemory(int des, int src, int count);

        [DllImport("kernel32.dll", EntryPoint = "OpenProcess")]
        public static extern IntPtr OpenProcess(uint dwDesiredAccess, bool bInheritHandle, uint dwProcessId);

        [DllImport("kernel32", CharSet = CharSet.Ansi)]
        public extern static int GetProcAddress(int hwnd, string procedureName);

        [DllImport("kernel32.dll", EntryPoint = "GetModuleHandle")]
        public static extern int GetModuleHandle(string lpModuleName);

        [DllImport("kernel32.dll", EntryPoint = "VirtualAllocEx")]
        public static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect);

        [DllImport("kernel32")]
        [return: MarshalAs(UnmanagedType.Bool)]
        public static extern bool CloseHandle(IntPtr hObject);

        [DllImport("kernel32", EntryPoint = "CreateRemoteThread")]
        public static extern IntPtr CreateRemoteThread(IntPtr hProcess, IntPtr lpThreadAttributes, uint dwStackSize, IntPtr lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, uint lpThreadId);

        [DllImport("kernel32.dll", EntryPoint = "WriteProcessMemory")]
        public static extern IntPtr WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] buffer, uint size, IntPtr lpNumberOfBytesWritten);
我对此表示怀疑


你看到了吗?

有1359个入口点,太多了。确保使用一个好的声明源,你得到的是错误的。如果生成所有入口点,不要浪费时间。而且生成源代码更好,不是代码错误哦,是的,但不支持VS2008!!!真遗憾!!另一个包含kernel32.dll所有函数的工具或源代码类??感谢VS插件可能不支持2008,这并不意味着你不能使用网站上的内容。搜索API和复制代码似乎很费劲,但从头开始编写更好。从好的方面来说,你只需要做一次就可以了。。。。也许,但对我来说,任何实际的解决方案,都可以为kernel32.dll、gdi.dll等的包装器自动生成代码。。。谢谢