Автор вопроса: angrynews | Web-сайт:www.angrynews.ru
Подскажите плз...
Вот допустим я хочу воспользоваться API, но в учебнике пишут, что надо не только объявить ее, но и описать константы и типы. Внимание вопрос: не понятно - 1) В каком случае их надо описывать 2) Что надо описывать 3) Какой параметр передавать в функцию. Пример в учебнике был на ExitWindows, там передавалась константа reboot=1...вроде, но это не важно
Проще говоря, как узнать, какие дополнительные объявления надо делать кроме описания самой API? Их ведь много разных...мда..
Из своего опыта освоения АПИ... Тоже смутился, что нужно много всего объявять, страшно было смотреть.
А потом зашел в тупик, без апишки - не выбраться, использовал одну, вторую... Даже удивился как это просто.
Поэтому выбери одно АПИ, которое тебе нужно в приложении, найди его пример и используй.
Так и поймешь постепенно смысл работы со всеми. А так действительно, зачем
грузить тупыми вопросами
?
Проще говоря, как узнать, какие дополнительные объявления надо делать кроме описания самой API? Их ведь много разных...мда..
у меня есть книги, и API виверы тоже...
Если у тебя есть учебники, там это длжно быть хорошо объяснено. А если нет - MegaFlash VB Help в поиск и скачай
Вот купил книгу аж на 1200 листов, называется Windows API32. Хрен поймешь (((((
Может подскажете толковые книги? Нужно, что бы было примерно так: поставленная задача, пример ее выполнения и ПОДРОБНОЕ объяснение, а то, например, в API гиде примеры есть, но там вместо одной функции сразу несколько напихано, и какие константы для какой непонятно, и что делаю остальные тоже...
МегаФлаш - отстой фигня какая-то, такое впечатление, что куча обрывков собрана, ничего толкового, одни "секреты" (((
Может кто что выслать может? Или выложить куда-нить для скачки?
Спасибо
Вот купил книгу аж на 1200 листов, называется Windows API32. Хрен поймешь (((((
Может подскажете толковые книги? Нужно, что бы было примерно так: поставленная задача, пример ее выполнения и ПОДРОБНОЕ объяснение, а то, например, в API гиде примеры есть, но там вместо одной функции сразу несколько напихано, и какие константы для какой непонятно, и что делаю остальные тоже...
МегаФлаш - отстой фигня какая-то, такое впечатление, что куча обрывков собрана, ничего толкового, одни "секреты" (((
А чего ты ожидаешь?
Собери обрывки - и будет то, что нужно!
одни "секреты"
Какие секреты?
Подробно. Вск константы, куда что подставлять есть.
Если ты - не на VB6, то мегафлэш, не пойдет конечно. Если же - VB6, и мегафлэш - тебе мало, то юзай свои 1200 страниц.
Ps/ По-моему тебе просто лень взять, включить комп и начать осваивать их.
Да все проще чем ты думаешь... хотел пример, получай...
Пример наш будет делать разные манипуляции с окном блокнота, все просто:
Суть: Каждое окно имеет хендел. Всякие действия с окном происходят используя именно его. Это типа идентификатор окна. Нахождение хендела, действия с окнами итп - все это Api функции...
Задача:
Найти хендел нужного окна (поиск по его заголовку), и свернуть его.
Для поиска окна юзаем апи фцию FindWindow, для манипуляции окном - ShowWindow.
Сначала функции нужно описать (задекларировать).
Декларации функций можно посмотреть в API Viewer'e
(или найти в интернете)
В VisualStudio6 в комплект есть тулза "API Text Viewer". Найти можно в пуске, там где басик был...
Запускаешь... File>>LoadTextFile "WIN32API.TXT"...
Над списком типа строка поиска, вводиш туда нужную фцию - "FindWindow".. если нашло - выделит, клацаеш 2 раза на выделенной фции... внизу где-то появится декларация, типа:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Точно так же находим ShowWindow
Private Declare Function ShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
В том же msdn можно найти и описания и примеры и все декларации всех функий (ну почти всех )
Все декларации пишутся в самом вверху кода... перед всем насвете
Программируем кнопку:
Private Sub Command2_Click()
Dim hwnd As Long 'Объявили переменную, в неё запомним хендел окна
'vbNullString - константа, объявлена в самом ВБ. Аналогична "" (пустые кавычки - строка в которой нехрена нет)
hwnd = FindWindow(vbNullString, "Безымянный - Блокнот" 'Вызвали API фцию, она нашла хендел окна и поместила его в переменную
If hwnd = 0 Then 'Если окно ненайдется, функция вернет 0, проверим эту ситуацию
MsgBox "Окно не найдено!"
End
End If
'Фция ShowWindow первым аргументом принимает хендел окна, вторым действие которые нужно сделать над ним
Call ShowWindow(hwnd, &H20000000) '<<< но так не красиво
'Оно работает, но кто-то, сразу не вспомнит что делает фция если вторым парам передать 6, а если использовать
'соответственно названную константу, код станет более читабельный и понятный на взгял
'Call ShowWindow(hwnd, WS_MINIMIZE)
'ПЕРЕД этим, желательно там где и декларации фций, объявить
'Private Const SW_MINIMIZE = 6
End Sub
Больше комментов чем кода
Бежим, узнаем что ещё умеет ShowWindow
http://www.yandex.ru/yandsearch?text=%CA%EE%ED%F1%F2%E0%ED%F2%FB+ShowWindow&stype=www