2013-07-28 15 views
7

मैंने कोशिश में User32.dll आयात कर सकते हैं नहीं:दृश्य स्टूडियो

  • संदर्भ प्रबंधक से user32.dll जोड़ने के लिए, और Windows \ System32 \ user32.dll से आयातित, मुझे त्रुटि संदेश:

    'C: \ Windows \ System32 \ user32.dll का संदर्भ जोड़ा नहीं जा सका। कृपया सुनिश्चित करें कि फ़ाइल पहुंच योग्य है, और यह एक मान्य असेंबली या COM घटक है।

  • using System.Runtime.InteropServices; [DllImport("user32")]

  • प्रशासक

कुछ भी नहीं काम करता है के रूप में दृश्य स्टूडियो लॉन्च करने के लिए ... यह मेरी नसों पर चला जाता है मैं इस लानत .dll ...

आयात करने के लिए 2 घंटे कोशिश कर रहा हूँ
+1

कि DLL जोड़ने के अपने वास्तविक लक्ष्य क्या है? आपने 'DllImport' का उल्लेख किया है जो स्पष्ट रूप से देशी DLL को संदर्भ के रूप में जोड़ने की आवश्यकता नहीं है ... –

+0

@RohitVats: वह प्रश्न .NET या COM DLLs से संबंधित है, न कि Win32 DLLs जैसे' user32.dll'। – RichieHindle

उत्तर

7

आपको User32.dll का संदर्भ जोड़ने की आवश्यकता नहीं है। यह विंडोज का हिस्सा है और संदर्भ जोड़ने के बिना आपके कोड में आयात किया जा सकता है। आप पी/Invoke का उपयोग कर ऐसा करते हैं।

[System.Runtime.InteropServices.DllImport("user32.dll")] 
public static extern void SetWindowText(int hWnd, String text); 

private void button3_Click(object sender, EventArgs e) 
{ 
    IntPtr wHnd = this.Handle;//assuming you are in a C# form application 
    SetWindowText(wHnd.ToInt32(), "New Window Title"); 
} 

भी देखें:

+0

धन्यवाद! मुझे एहसास नहीं हुआ/पता था कि विधि को परिभाषित किया जाना चाहिए (सार्वजनिक स्थैतिक बाहरी शून्य सेटविंडोटेक्स्ट (int hWnd, स्ट्रिंग टेक्स्ट);) – jovanMeshkov

+0

वैसे यह विधि पूरी तरह से परिभाषित करने की आवश्यकता नहीं है। '; ' [System.Runtime.InteropServices.DllImport ("user32.dll")] '' सार्वजनिक स्थिर extern शून्य (): प्रत्येक विधि को आप से संदर्भ 'user32.dll' कि प्रारूप में मौजूद होना चाहिए – jrbeverly

1

यह एक .NET डीएल नहीं है। आप .NET dlls के साथ वैसे ही "संदर्भ जोड़ें" नहीं करते हैं। इसके बजाय आपको अपने इच्छित कार्यों को आमंत्रित करने के लिए अपने ऐप में पी/Invoke कोड जोड़ना होगा। पिनवोक सीखने के लिए यहां एक अच्छा संसाधन है: http://pinvoke.net/

संबंधित मुद्दे