Вопрос

Я создаю программу, которая сможет автоматически подключаться к беспроводной сети. Для этого я использую библиотеку под названием 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, и у меня все еще есть такая же проблема

Это было полезно?

Решение

Решен

Проблема в том, что Windows XP, когда сеть является сетью Adhoc, добавляет Sufix «-Adhoc» к имени. Когда я пытался подключиться к этому, он не нашел сеть "XXX"

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top