2011-11-29 91 views
1

我正在創建一個能夠自動連接到無線網絡的程序。爲此,我使用名爲ManagedWifi的庫,該庫使用庫「wlanapi.dll」。當我嘗試在Windows Vista上使用代碼時,一切正常,但在Windows XP上使用它時會失敗。我已檢查它已安裝Service Pack 3,並且「wlanapi.dll」位於Windows/system32中。問題是,當ManagedWifi調用此方法:Windows XP中wlanapi.dll的WlanConnect失敗

[DllImport("wlanapi.dll")] 
    public static extern int WlanConnect(
     [In] IntPtr clientHandle, 
     [In, MarshalAs(UnmanagedType.LPStruct)] Guid interfaceGuid, 
     [In] ref WlanConnectionParameters connectionParameters, 
     IntPtr pReserved); 

它拋出一個錯誤System.ComponentModel.Win32Exception:找不到元素。但是,如果庫正確位於system32中,爲什麼會拋出此錯誤?爲什麼只在Windows XP中,而不是在Vista中?

非常感謝您給大家

編輯:我已經檢查boith文件版本,Vista和XP,和我見過它們是不同的(XP:5.1,Vista的:6.0),但我抄Vista的版本,XP,我仍然有同樣的問題

回答

1

解決

的問題是,Windows XP中,當網絡自組織網絡,增加了「-adhoc」 sufix的名字。當我試圖連接到它時,它沒有找到「xxx」網絡

相關問題