C# 調用API函數彈出映射網絡驅動器對話框問題
1.基本知識介紹
首先,C#中的.net的常用對話框中沒有映射網絡驅動映射對話框,所以需要用windows的API函數去實現彈出映射網絡驅動器對話框。
c#調用API函數的要點可以參考:C#中調用Windows API的技術要點說明
值得注意到是,.net環(huán)境下參數類型的聲明的不同:
a、數值型直接用對應的就可。(DWORD -> int , WORD -> Int16)
b、API中字符串指針類型 -> .net中string
c、API中句柄 (dWord) -> .net中IntPtr
d、API中結構 -> .net中結構或者類。注意這種情況下,要先用StructLayout特性限定聲明結構或類
然后,在Windows中,調出映射網絡驅動器對話框的API函數是WNetConnectionDialog(HWND hwnd, DWORD dwType),函數的返回值是如果對話框取消,返回為-1,如果成功則返回NO_ERROR。
可以參考MSDNhttp://msdn.microsoft.com/en-us/library/aa385433(v=VS.85).aspx
2.代碼實現
[DllImport("mpr.dll", CharSet = CharSet.Ansi)]private static extern int WNetConnectionDialog(IntPtr HWND, int dwType);
private void button1_Click(object sender, EventArgs e)
{
WNetConnectionDialog(this.Handle, 1);//RESOURCETYPE_DISK的值為1
}
3.測試
點擊按鈕后彈出,進行配置即可
相關文章
在C#中使用適配器Adapter模式和擴展方法解決面向對象設計問題記錄
在開發(fā)基于MonoGame的游戲框架時,面臨SpriteFont和DynamicSpriteFont兼容問題,SpriteFont在內容管道中編譯確定字號,導致不同字號需加載多個字體資源,本文給大家介紹在C#中使用適配器Adapter模式和擴展方法解決面向對象設計問題,感興趣的朋友一起看看吧2024-10-10

