Автор Тема: Расширение стандартной AutoIt библиотеки WinAPI.au3  (Прочитано 170082 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379
  • Репутация: 2693
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
AutoIt: 3.3.6.x/3.3.8.x
Версия: 3.8

Категория: WinAPI

Описание: _WinAPIEx.au3 является расширением к стандартной AutoIt библиотеке WinAPI.au3. UDF включает в себя несколько недокументированных, но очень полезных функций, например, _WinAPI_GetFontResourceInfo(), а так же содержит все необходимые константы. Библиотека в основном предназначена для более или менее опытных пользователей, но я думаю, что многие найдут в ней для себя что-нибудь полезное. Описание ко всем функциям (на английском) находится внутри самой библиотеки, также присутствует файл справки в формате (.chm).

Для тех, кто использует редактор SciTE (full version) для написания своих скриптов, я подготовил файлы au3.userudfs.properties и au3.user.calltips.api (внутри архива) для подсветки функций из этой библиотеки. Просто скопируйте его в папку ...\SciTE\Properties и ...\SciTE\api соответственно и перезагрузите SciTE. Надеюсь эта библиотека окажется для Вас такой же полезной как и для меня.

Файл(ы):

Для AutoIt 3.3.6.x: ZIP (архив), EXE (инсталлятор)

Для AutoIt 3.3.8.x: ZIP (архив), EXE (инсталлятор)

Примеры: _WinAPI_*.au3 (в архиве)

Список функций:
(нажмите для показа/скрытия)

История версий (v2.4 - v3.8):
(нажмите для показа/скрытия)

Архив:

Скриншот:


Источник: WinAPIEx UDF (оффициальный форум)
Автор: Yashied
« Последнее редактирование: Июнь 25, 2017, 02:52:33 от Garrett »


Думай, прежде чем говорить.

Русское сообщество AutoIt

Расширение стандартной AutoIt библиотеки WinAPI.au3
« Отправлен: Сентябрь 05, 2009, 02:38:57 »

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7803
  • Репутация: 2279
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: Расширение стандартной AutoIt библиотеки WinAPI.au3
« Ответ #1, Отправлен: Сентябрь 05, 2009, 12:46:51 »
Yashied
Тему желательно именовать по русский (насколько это возможно).

А за библиотеку большое спасибо, многим будет полезна.
« Последнее редактирование: Октябрь 30, 2009, 03:14:21 от Yashied »


Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.


«Не оказываю тех. поддержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

Оффлайн Belfigor [?]

  • Локальный модератор
  • *
  • Сообщений: 3465
  • Репутация: 925
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Расширение стандартной AutoIt библиотеки WinAPI.au3
« Ответ #2, Отправлен: Сентябрь 06, 2009, 00:33:29 »
Шикарная вещь, уже тестируем ее во всю :)

Любые темы внутри раздела "Разработка ботов" не названные в соответствии с правилами раздела, будут закрываться.
Любой ответ, любого пользователя в теме с предупреждением, направленный на решение вопроса, произведенный до того как предупреждение было исправлено, приведет к закрытию темы и удалению всего что было после предупреждения.

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2693
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Расширение стандартной AutoIt библиотеки WinAPI.au3
« Ответ #3, Отправлен: Сентябрь 06, 2009, 01:45:49 »
Шикарная вещь, уже тестируем ее во всю :)

Если найдешь какие-нибудь баги, сообщи пожалуйста.

Русское сообщество AutoIt

Re: Расширение стандартной AutoIt библиотеки WinAPI.au3
« Ответ #3 Отправлен: Сентябрь 06, 2009, 01:45:49 »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2693
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Расширение стандартной AutoIt библиотеки WinAPI.au3
« Ответ #4, Отправлен: Сентябрь 18, 2009, 01:55:34 »
Обновил библиотеку до версии 1.8, добавлены следующие функции (11):

_WinAPI_AssocQueryString
_WinAPI_ChildWindowFromPointEx
_WinAPI_DragAcceptFiles
_WinAPI_DragFinish
_WinAPI_DragQueryFileEx
_WinAPI_DragQueryPoint
_WinAPI_EnumChildWindows
_WinAPI_GetTopWindow
_WinAPI_GetWindowModuleFileName
_WinAPI_IsHungAppWindow
_WinAPI_IsWindowUnicode


Оффлайн Belfigor [?]

  • Локальный модератор
  • *
  • Сообщений: 3465
  • Репутация: 925
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Расширение стандартной AutoIt библиотеки WinAPI.au3
« Ответ #5, Отправлен: Сентябрь 18, 2009, 15:09:06 »
_WinAPI_GetTopWindow[/i]
Эта команда возвращает хэндл активного окна или я ошибаюсь?
Будут ли в будущем добавлены описания, что какая команда делает и как использовать + примеры?

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2693
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Расширение стандартной AutoIt библиотеки WinAPI.au3
« Ответ #6, Отправлен: Сентябрь 18, 2009, 18:16:14 »
Эта команда возвращает хэндл активного окна или я ошибаюсь?

Эта функция возвращает хэндл первого (в Z последовательности) дочернего окна для указанного родительского окна, например можно получить хэндл нижнего элемента на форме:

Код: AutoIt [Выделить]
#Include <GUIConstantsEx.au3>
#Include <WinAPIEx.au3>

$hForm = GUICreate('MyGUI', 400, 400)
$Label1 = GUICtrlCreateLabel('', 0, 0, 400, 400)
GUICtrlSetBkColor(-1, 0xFF0000)
GUICtrlSetState(-1, $GUI_DISABLE)
$Label2 = GUICtrlCreateLabel('', 20, 20, 360, 360)
GUICtrlSetBkColor(-1, 0x0000FF)
GUICtrlSetState(-1, $GUI_DISABLE)
$Label3 = GUICtrlCreateLabel('', 40, 40, 320, 320)
GUICtrlSetBkColor(-1, 0x00FFFF)
GUICtrlSetState(-1, $GUI_DISABLE)
GUISetState()

ConsoleWrite('Handle to Label1:       0x' & Hex(GUICtrlGetHandle($Label1)) & @CR)
ConsoleWrite('Handle to Label2:       0x' & Hex(GUICtrlGetHandle($Label2)) & @CR)
ConsoleWrite('Handle to Label3:       0x' & Hex(GUICtrlGetHandle($Label3)) & @CR)
ConsoleWrite('_WinAPI_GetTopWindow(): 0x' & Hex(_WinAPI_GetTopWindow($hForm)) & @CR)

Do
Until GUIGetMsg() = -3


Будут ли в будущем добавлены описания, что какая команда делает и как использовать + примеры?

Внутри библиотеки есть описания (на английском) ко всем функциям. Для большинства функций есть примеры в архиве.

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2693
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Обновил библиотеку до версии 1.9, добавлены следующие функции (10):

_WinAPI_CharToOem
_WinAPI_CreateFileEx
_WinAPI_EnumProcessThreads
_WinAPI_EnumProcessWindows
_WinAPI_IntersectRect
_WinAPI_IsRectEmpty
_WinAPI_MoveFileEx
_WinAPI_OemToChar
_WinAPI_ShareFolderDlg
_WinAPI_SubtractRect


Русское сообщество AutoIt

Re: Расширение стандартной AutoIt библиотеки WinAPI.au3
« Ответ #7 Отправлен: Октябрь 11, 2009, 05:10:32 »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2693
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Обновил библиотеку для AutoIt 3.3.1.0 (Beta) и выше (файл WinAPIEx_AutoIt_Beta.zip). Выключена функция _WinAPI_PathFindOnPath(), так как она присутствует в новой Beta.
« Последнее редактирование: Октябрь 16, 2009, 01:33:51 от CreatoR »

VitAl2013

  • Гость
А можно ли на её основе сделать новый AutoITInfo? А то попадается совт с какими то своими средствами GUI. Обычный AutoIT3Info ловит только название окна, хэндл, общие категории элемента... подозреваю что далеко не всё ловит.

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2693
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Небольшие изменения в связи со шквалом "стремных" Beta версий.

:)

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2693
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Обновил библиотеку до версии 2.0, добавлены следующие функции (28):

(нажмите для показа/скрытия)

+ примеры

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3791
  • Репутация: 948
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Спасибо за ваш труд Yashied !
Скачал, стал пользоваться, но сразу возник вопрос!
Конечно, я понимаю, как исправить дело, но с начала хочу спросить у автора.

WinAPI.au3

Код: AutoIt [Выделить]

WinAPIEx.au3

Код: AutoIt [Выделить]

Возникает конфликт #include:

~\AutoIt\Include\WinAPIEx.au3 (5416) : ==> Duplicate function name.:
Func _WinAPI_GetLayeredWindowAttributes()

Это только у меня так?

Скорблю и помню.




Оффлайн asdf8 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 560
  • Репутация: 150
    • Награды
У меня при подключении этой библиотеки выскакивает ошибка:

WinAPIEx.au3(6366,32) : ERROR: $tHiLo: undeclared global variable.

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2693
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Скачал, стал пользоваться, но сразу возник вопрос...

В архиве две версии WinAPIEx.au3: для AutoIt 3.3.0.0 и 3.3.2.0 (3.3.1.0 и выше). Просто используйте соответствующую версию. Разница лишь в отключенных функциях, которые присутствуют в новых версиях AutoIt.

У меня при подключении этой библиотеки выскакивает ошибка...

Спасибо, позже исправлю и выложу обновленную версию (2.1) + добавлю несколько новых функций.

Русское сообщество AutoIt

Re: Расширение стандартной AutoIt библиотеки WinAPI.au3
« Ответ #14 Отправлен: Январь 10, 2010, 17:27:49 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
4 Ответов
9871 Просмотров
Последний ответ Октябрь 24, 2016, 02:41:58
от Alofa
3 Ответов
3898 Просмотров
Последний ответ Май 12, 2012, 16:30:59
от sngr
6 Ответов
3292 Просмотров
Последний ответ Январь 24, 2013, 11:48:08
от beliy
0 Ответов
2034 Просмотров
Последний ответ Февраль 13, 2013, 19:11:13
от iamOmg
7 Ответов
2047 Просмотров
Последний ответ Февраль 03, 2015, 22:10:56
от madmasles
4 Ответов
1908 Просмотров
Последний ответ Февраль 04, 2015, 15:37:07
от babanty
8 Ответов
2576 Просмотров
Последний ответ Май 27, 2015, 20:26:03
от AZJIO
2 Ответов
1152 Просмотров
Последний ответ Ноябрь 05, 2015, 12:25:38
от ВиталийВВ
2 Ответов
1213 Просмотров
Последний ответ Февраль 26, 2016, 23:23:22
от BlackPhreaker
2 Ответов
160 Просмотров
Последний ответ Вчера в 23:46:42
от Vovsla