EnumWindows выдает исключение

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

cousloum
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 30.06.2010 (Ср) 12:39

EnumWindows выдает исключение

Сообщение cousloum » 11.07.2010 (Вс) 15:56

Есть такой код:
Код: Выделить всё
    Declare Auto Function EnumWindows Lib "user32.dll" Alias "EnumWindows" (ByVal ukazatel As EnumWindowsProc, ByVal param As Long) As IntPtr
    Delegate Function EnumWindowsProc(ByVal hwnd As IntPtr, ByVal lParam As Long) As Boolean
    Private Function Proverka_okna(ByVal hwnd As IntPtr, ByVal lParam As Long) As Boolean
        MsgBox("", MsgBoxStyle.Exclamation, "Предупреждение")
        Return True
    End Function
    Private Sub Okna(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MsgBox(EnumWindows(AddressOf Proverka_okna, 0).ToInt32, MsgBoxStyle.Exclamation, "Предупреждение")
    End Sub


Почему-то после вызова EnumWindows в конце вылезает исключение:
Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена.
Никак не могу понять с чем это связано?

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: EnumWindows выдает исключение

Сообщение FireFenix » 11.07.2010 (Вс) 16:14

Ошибка в неправильном вызове апи
кури рабочий вариант http://www.visual-basic5.de/vbclassic/d ... wsproc.htm
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: EnumWindows выдает исключение

Сообщение Viper » 11.07.2010 (Вс) 18:08

Потому что должен быть Integer вместо Long.
Весь мир матрица, а мы в нем потоки байтов!

cousloum
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 30.06.2010 (Ср) 12:39

Re: EnumWindows выдает исключение

Сообщение cousloum » 11.07.2010 (Вс) 18:23

Большое спасибо, вы мне очень помогли :D


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

    TopList