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

ab07 и 1 Гость просматривают эту тему.

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3789
  • Репутация: 948
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
В архиве две версии WinAPIEx.au3: для AutoIt 3.3.0.0 и 3.3.2.0 (3.3.1.0 и выше). Просто используйте соответствующую версию. Разница лишь в отключенных функциях, которые присутствуют в новых версиях AutoIt.
Спасибо! Действительно, моя ошибка, не для своей версии поставил WinAPIEx.au3 :wacko:
Извиняйте :) за глупый вопрос выше :-[

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




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

Re: Расширение стандартной AutoIt библиотеки WinAPI.au3
« Ответ #15 Отправлен: Январь 11, 2010, 00:00:43 »

Оффлайн Yashied [?]

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

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

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

+ примеры

Так же исправлена ошибка, связанная с неверным объявлением переменных (спасибо asdf8).

ВниманиеВерсия библиотеки для AutoIt 3.3.0.0 не будет поддерживаться с выходом следующей (после 3.3.2.0) финальной версии AutoIt. Используйте версию для AutoIt 3.3.2.0 (3.3.1.0 и выше).
« Последнее редактирование: Февраль 05, 2010, 10:38:47 от Yashied »


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

Оффлайн Yashied [?]

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

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

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2313
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Yashied,

Вы не могли бы привести пример работы функции _WinAPI_GetPixel. Что такое $hDC    - Handle to the device context.
В описании функции указано, что пример есть, а его нет.
Спасибо.

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

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

Оффлайн Yashied [?]

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

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

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

Global $hForm, $Msg, $Drive, $Combo, $Button

$hDC = _WinAPI_GetDC(0)

For $x = 0 To 199
    For $y = 0 To 199
        _WinAPI_SetPixel($hDC, 400 + $x, 400 + $y, _WinAPI_GetPixel($hDC, $x, $y))
    Next
Next

_WinAPI_ReleaseDC(0, $hDC)


Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2313
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Yashied,
Большое спасибо за пример. Класс!!!

Оффлайн ynbIpb [?]

  • Скриптер
  • ****
  • Сообщений: 392
  • Репутация: 108
  • Пол: Мужской
    • Награды
Yashied, совместима ли текущая версия WinAPIEx 2.1 с 3.3.4.0 ?
На первый взгляд вроде норм, но проводилось ли тестирование?

Оффлайн Yashied [?]

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

  • Автор темы
  • Репутация: 2693
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Не тестировал, но должна полностью работать. 3.3.4.0 (3.3.5.0) с точки зрения UDF (WinAPI) ничем не отличаются от 3.3.2.0.

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

Re: Расширение стандартной AutoIt библиотеки WinAPI.au3
« Ответ #22 Отправлен: Январь 25, 2010, 00:50:50 »

Оффлайн asdf8 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 560
  • Репутация: 150
    • Награды
Хорошо бы добавить функцию "SHChangeNotify", для обновления оболочки, после разных манипуляций над ней.

Оффлайн Yashied [?]

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

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

Я хотел включить эту функцию в последнюю сборку, но ... работает она, мягко говоря, не очень. Поэтому отложил ее до лучших времен. В следующей версии WinAPIEx возможно будет присутствовать эта функция. Я предлагаю Вам написать небольшой пример для нее.

Оффлайн asdf8 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 560
  • Репутация: 150
    • Награды
Небольшой пример:

Код: AutoIt [Выделить]
; for X86
Opt('MustDeclareVars', 1)

Global Const $SHCNE_ASSOCCHANGED = 0x8000000
Global Const $SHCNF_FLUSH = 0x1000
Global Const $SHCNF_IDLIST = 0x0

Global $file, $title

$file = FileOpen(@TempDir & "\test\test.exmp", 10)
FileClose($file)
ShellExecute(@TempDir & "\test")
Sleep(4000)
$title = WinGetTitle("[active]")
RegWrite("HKEY_CLASSES_ROOT\.exmp", "", "REG_SZ", "exmpfile")
RegWrite("HKEY_CLASSES_ROOT\exmpfile\DefaultIcon", "", "REG_SZ", "shell32.dll,27")

_WinAPI_SHChangeNotify($SHCNE_ASSOCCHANGED, BitOR($SHCNF_IDLIST, $SHCNF_FLUSH)); update shell icons

Sleep(4000)
RegDelete("HKEY_CLASSES_ROOT\.exmp")
RegDelete("HKEY_CLASSES_ROOT\exmpfile")

_WinAPI_SHChangeNotify($SHCNE_ASSOCCHANGED, BitOR($SHCNF_IDLIST, $SHCNF_FLUSH)); update shell icons

Sleep(2000)
If WinExists($title) Then WinClose($title)
DirRemove(@TempDir & "\test", 1)

Func _WinAPI_SHChangeNotify($wEventId, $uFlags, $dwItem1 = 0, $dwItem2 = 0)
    DllCall("shell32.dll", "none", "SHChangeNotify", _
            "long", $wEventId, _
            "uint", $uFlags, _
            "ptr", $dwItem1, _
            "ptr", $dwItem2 _
            )
EndFunc
 


Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7803
  • Репутация: 2279
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
asdf8  [?]
Цитировать
Небольшой пример
Хороший пример, но желательно добавить и другие константы в список, которые возможно использовать с этой функцией.


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


AutoIt is simple, subtle, elegant.


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


Мои работы

Оффлайн Yashied [?]

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

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

Действительно хороший пример, функция будет добавлена в следующей версии.

CreatoR

Я так же добавлю все необходимые константы + описание.

Оффлайн Yashied [?]

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

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

Оффлайн Yashied [?]

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

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

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

+ примеры
« Последнее редактирование: Февраль 23, 2010, 12:58:53 от Yashied »

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

Re: Расширение стандартной AutoIt библиотеки WinAPI.au3
« Ответ #29 Отправлен: Февраль 23, 2010, 12:28:29 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
4 Ответов
9866 Просмотров
Последний ответ Октябрь 24, 2016, 02:41:58
от Alofa
3 Ответов
3896 Просмотров
Последний ответ Май 12, 2012, 16:30:59
от sngr
6 Ответов
3291 Просмотров
Последний ответ Январь 24, 2013, 11:48:08
от beliy
0 Ответов
2033 Просмотров
Последний ответ Февраль 13, 2013, 19:11:13
от iamOmg
7 Ответов
2041 Просмотров
Последний ответ Февраль 03, 2015, 22:10:56
от madmasles
4 Ответов
1908 Просмотров
Последний ответ Февраль 04, 2015, 15:37:07
от babanty
8 Ответов
2575 Просмотров
Последний ответ Май 27, 2015, 20:26:03
от AZJIO
2 Ответов
1149 Просмотров
Последний ответ Ноябрь 05, 2015, 12:25:38
от ВиталийВВ
2 Ответов
1210 Просмотров
Последний ответ Февраль 26, 2016, 23:23:22
от BlackPhreaker
2 Ответов
114 Просмотров
Последний ответ Сегодня в 23:46:42
от Vovsla