我正在创建一个程序,该程序将能够自动连接到无线网络。为此,我使用的是一个名为ManagedWifi的库,该库使用“ wlanapi.dll”库。当我尝试在Windows Vista上使用代码时,一切都很好,但是当我在Windows XP上使用它时,它会失败。我检查了它是否已安装了Service Pack 3,并且“ Wlanapi.dll”位于Windows/System32中。问题是当ManagedWifi调用此方法时:

[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.win32 exception:找不到元素. 。但是,如果库在System32中正确位置,为什么会丢弃此错误?为什么仅在Windows XP中而不在Vista中?

非常感谢大家

编辑: 我已经检查了Boith文件版本,Vista和XP,我已经看到它们不同(XP:5.1,Vista:6.0),但我已将Vista的版本复制到XP,但我仍然有相同的问题

有帮助吗?

解决方案

解决了

问题是Windows XP(网络是AdHoc网络)将“ -adhoc” sufix添加到名称中。当我尝试连接到它时,它找不到“ xxx”网络

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top