我正在创建一个能够自动连接到无线网络的程序。为此,我使用了一个名为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.Win32Exception:找不到元素 。但是,如果库正确地位于system32中,为什么会抛出此错误?为什么只在Windows XP而不是Vista?
非常感谢大家
编辑:我检查过boith文件版本,Vista和XP,我发现它们不同(XP:5.1,Vista:6.0)但是我已经将Vista的版本复制到了XP和我仍然有同样的问题
答案 0 :(得分:1)
<强>解决强>
问题是,当网络是一个adhoc网络时,Windows XP会在名称中添加“-adhoc”sufix。当我试图连接到它时,它没有找到“xxx”网络