DllImport यहाँ के उपयोगों के बीच क्या अंतर है? विशेष रूप से, क्या "user32" का अर्थ केवल "user32.dll" है, या इसका मतलब है "user32.lib" या कुछ और?DllImport user32 user32.dll बनाम
[DllImport("user32")]
protected static extern int GetKeyboardState(byte[] pbKeyState);
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
protected static extern short GetKeyState(int vKey);
आप शायद चारसेट और कॉलिंग कॉन्वेन्शन को अनदेखा कर सकते हैं।
यदि वे समान हैं, तो मैं इसे और अधिक संगत होने के लिए फिर से लिख सकता हूं, लेकिन यदि नहीं, तो मैं इसके साथ समस्याओं का एक गुच्छा नहीं चाहता हूं।
[यहां कन्स्ट्रक्टर पर एमएसडीएन पृष्ठ है] (http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.dllimportattribute.aspx) संदर्भ के लिए। – Guvante
प्रासंगिक दस्तावेज़ीकरण यह है कि [लोड लाइब्रेरी] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms684175 (v = vs.85) .aspx) के लिए। * यदि स्ट्रिंग पथ के बिना मॉड्यूल नाम निर्दिष्ट करती है और फ़ाइल नाम एक्सटेंशन छोड़ा जाता है, तो फ़ंक्शन मॉड्यूल नाम पर डिफ़ॉल्ट लाइब्रेरी एक्सटेंशन .dll जोड़ता है। मॉड्यूल नाम में .dll को जोड़ने से रोकने के लिए, मॉड्यूल नाम स्ट्रिंग में एक पीछे बिंदु बिंदु (।) शामिल करें। * –