2009-12-21 19 views
6

कोई भी सहायक वर्ग कहीं भी जो कर्नेल 32 एपीआई को सभी कार्यों-विधियों और संरचनाओं के साथ लपेटता है? या कोई रैपर जेनरेटर?कर्नेल 32.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); 
+0

एक सवाल - क्यों? –

+3

1359 एंट्री पॉइंट्स हैं, बहुत अधिक रास्ता। घोषणाओं के लिए एक अच्छा स्रोत का उपयोग करना सुनिश्चित करें, जो आपके पास हैं वे गलत हैं। –

+0

यदि सभी प्रविष्टि बिंदु उत्पन्न करते हैं, तो ऐसा करने के लिए समय बर्बाद न करें। और स्रोत कोड उत्पन्न करना बेहतर है, कोड –

उत्तर

7

मैं इसे शक:

मैं सभी इस तरह सी # में kernel32.dll के तरीकों चाहते हैं।

क्या आपने http://www.pinvoke.net/ देखा है?

+0

में त्रुटियों में नहीं, ओह, हाँ, लेकिन वीएस 2008 का समर्थन नहीं करते !!! बड़े अफ़सोस की बात है !! kernel32.dll के सभी कार्यों के साथ एक और उपकरण या स्रोत कोड वर्ग ?? धन्यवाद –

+1

वीएस प्लगइन 2008 का समर्थन नहीं कर सकता है, इसका मतलब यह नहीं है कि आप वेबसाइट से सामग्री का उपयोग नहीं कर सकते हैं। यह एपीआई के लिए श्रमिक खोज और कोड की प्रतिलिपि प्रतीत हो सकता है, लेकिन यह अभी भी बेहतर है कि इसे स्क्रैच से लिखना। प्लस तरफ आपको केवल एक बार ऐसा करने की ज़रूरत है। – donovan

+0

एपीआई के लिए श्रमिक खोज और कोड को कॉपी करना .... शायद, लेकिन मेरे लिए कोई अभ्यास समाधान, kernel32.dll, gdi.dll के wrapper के लिए स्वचालन कोड जनरेशन के लिए ... धन्यवाद !! –