Язык Visual Basic на платформе .NET.
Модераторы: Ramzes, Sebas
-
cousloum
-
- Начинающий
-
-
- Сообщения: 6
- Зарегистрирован: 30.06.2010 (Ср) 12:39
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
FireFenix » 11.07.2010 (Вс) 16:14
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる
-
Viper
-
- Артефакт VBStreets
-
-
- Сообщения: 4394
- Зарегистрирован: 12.04.2005 (Вт) 17:50
- Откуда: Н.Новгород
-
Viper » 11.07.2010 (Вс) 18:08
Потому что должен быть Integer вместо Long.
Весь мир матрица, а мы в нем потоки байтов!
-
cousloum
-
- Начинающий
-
-
- Сообщения: 6
- Зарегистрирован: 30.06.2010 (Ср) 12:39
cousloum » 11.07.2010 (Вс) 18:23
Большое спасибо, вы мне очень помогли
Вернуться в Visual Basic .NET
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5