ワイヤレスネットワークに自動的に接続できるプログラムを作成しています。そのために、ライブラリ「wlanapi.dll」を使用するManagedWifiというライブラリを使用しています。Windows Vistaでコードを使用しようとすると、すべて問題ありませんが、WindowsXPで使用すると失敗します。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:Elementnotfoundをスローします。しかし、ライブラリがsystem32に正しく配置されている場合、なぜこのエラーがスローされるのでしょうか。そして、なぜWindows XPだけで、Vistaではないのですか?
みなさん、ありがとうございました
編集: VistaとXPの両方のファイルバージョンを確認しましたが、それらが異なることを確認しました(XP:5.1、Vista:6.0)が、VistaのバージョンをXPにコピーしましたが、それでも同じ問題が発生します