Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работает API 
:(
    Опции темы
I_Am_Rock
Дата 2.7.2010, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Как-то глупо конечно, но почему-то не работают АПИ-функции smile Возвращают 0 на всё

Вот к примеру такой код. Объясните - можно я просто что-то не вижу.

Код

Private Declare Function GetClassInfo Lib "user32" Alias "GetClassInfoA" (ByVal hInstance As Long, ByVal lpClassName As String, lpWndClass As WNDCLASS) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Type WNDCLASS
    style As Long
    lpfnwndproc As Long
    cbClsextra As Long
    cbWndExtra2 As Long
    hInstance As Long
    hIcon As Long
    hCursor As Long
    hbrBackground As Long
    lpszMenuName As String
    lpszClassName As String
End Type

Dim asd As WNDCLASS
Dim myclass As String
Dim k As Long

Private Sub Command1_Click()
k = FindWindow(vbNull, "Form1")
GetClassName k, myclass, 20 ' пробовал сначала просто Me.hwnd подставить
GetClassInfo App.hInstance, myclass, asd
MsgBox asd.hInstance
End Sub



Это сообщение отредактировал(а) I_Am_Rock - 2.7.2010, 13:10
PM MAIL WWW   Вверх
I_Am_Rock
Дата 2.7.2010, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Ой, мой косяк
В файндфиндоу надо vbNullString вместо vbNull

Видимо и с другими функциями мои косяки. Буду искать. Но если сами найдете - подскажите  smile 
PM MAIL WWW   Вверх
I_Am_Rock
Дата 2.7.2010, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Аааа - не пойму!
Подскажите, уже мозг устал.

Почему эта строчка возвращает 0?
Код

GetClassName k, myclass, 20 ' пробовал сначала просто Me.hwnd подставить

Как видно, я пробовал и просто Me.hwnd подставить вместо k
PM MAIL WWW   Вверх
Akina
Дата 2.7.2010, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



А тебя не учили, что надо резервировать строку перед её использованием?
Код

myclass = space(255)
call GetClassName ...



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
A5uKa
Дата 2.7.2010, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: нет
Всего: 16



Я не знаю VB, но в конце As Long - обозначает, что вернёт Long ?

GetName возвращае Long ? =)
PM   Вверх
I_Am_Rock
Дата 2.7.2010, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Akina, Спасибо  smile 




A5uKa, GetClassName возвращает Long - что Вас смущает? Ну, там просто 0 будет, если успешно завершится функция... А само нэйм будет в myclass

Это сообщение отредактировал(а) I_Am_Rock - 2.7.2010, 14:10
PM MAIL WWW   Вверх
A5uKa
Дата 2.7.2010, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: нет
Всего: 16



Говорю же не знаю VB ) просто нет строчек вроде out в переменных, а на выходе long , вот и смутило )
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0467 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.