Что нового

Расширение стандартной AutoIt библиотеки WinAPI.au3

Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Небольшое обновление библиотеки, версия осталась прежней.

Список изменений:
  • Добавлены следующие функции.

    _WinAPI_CreateNumberFormatInfo
    _WinAPI_EnumProcessHandles
    _WinAPI_FreeMemory
    _WinAPI_GetDurationFormat
    _WinAPI_GetFinalPathNameByHandleEx
    _WinAPI_GetNumberFormat
    _WinAPI_IsString
    _WinAPI_MakeWord

  • Добавлены примеры к вышеперечисленным функциям.
  • Следующие функции теперь работают с указателями вместо структур (см. описание).

    _WinAPI_CreateString
    _WinAPI_FindTextDlg
    _WinAPI_RegQueryMultipleValues
    _WinAPI_ReplaceTextDlg

  • Исправлена ошибка в некоторых функциях связанная с некорректным сравнением с 0xFFFFFFFF. (Спасибо money)
  • Обновлена документация.
 

Pavel

Новичок
Сообщения
125
Репутация
3
Ошибка в WinAPIEx.au3 после обвновления до 3.3.8.0

Собственно, после обновления Аутоита до 3.3.8.0 стала вылазить ошибка :
Код:
C:\Program Files (x86)\AutoIt3\Include\WinAPIEx.au3(6723,104) : ERROR: _WinAPI_DuplicateHandle() already defined.
Func _WinAPI_DuplicateHandle($hProcess, $hSource, $hTarget, $iAccess = 0, $iOptions = 2, $fInherit = 0)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
Заккоментировал эту функцию, однако не знаю - что это может за собой повлечь.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Re: Ошибка в WinAPIEx.au3 после обвновления до 3.3.8.0

Pavel
библиотека WinAPIEx.au3 не входит в стандартную поставку дистрибутива AutoIt и поэтому все проблемы связанные с ней лучше постить в соответствующей теме, куда я переношу твое сообщение
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Обновил библиотеку до версии 3.6.

Список изменений:
  • Добавлены следующие функции.

    _WinAPI_CallWindowProcW
    _WinAPI_ColorAdjustLuma
    _WinAPI_CreateBuffer
    _WinAPI_DefWindowProcW
    _WinAPI_EnumUILanguages
    _WinAPI_FileExists
    _WinAPI_FindClose
    _WinAPI_FindFirstFile
    _WinAPI_FindNextFile
    _WinAPI_GetFileSize
    _WinAPI_GetMemorySize
    _WinAPI_GetPriorityClass
    _WinAPI_GetSystemDefaultUILanguage
    _WinAPI_GetUserDefaultUILanguage
    _WinAPI_IsMemory
    _WinAPI_PathAppend
    _WinAPI_PathBuildRoot
    _WinAPI_RemoveDirectory
    _WinAPI_SetPriorityClass

  • Добавлены примеры к вышеперечисленным функциям.
  • Удалены следующие функции.

    _WinAPI_IsString (используйте _WinAPI_IsMemory)

  • Добавлены System Parameter Info ($SPI_*) константы.
  • Добавлена $tagSHELLHOOKINFO структура.
  • Добавлен опциональный параметр в функции _WinAPI_CreateString() (см. описание).
  • Первый параметр в функциях _WinAPI_ShellEmptyRecycleBin() и _WinAPI_ShellQueryRecycleBin() теперь является опциональным.
  • Третий и четвертый параметры в функции _WinAPI_CreateFileEx() теперь являются опциональными.
  • Третий параметр в функции _WinAPI_LZNTDecompress() больше не является опциональным (см. описание).
  • Следующие функции теперь возвращают ошибку вместо краха сценария при нехватке требуемого количества оперативной памяти.

    _WinAPI_FindTextDlg
    _WinAPI_LZNTDecompress
    _WinAPI_ReplaceTextDlg

  • Исправлена ошибка в функциях _WinAPI_CascadeWindows() и _WinAPI_TileWindows(), приводящая к возврату ошибки, если первый параметр имел нулевое значение. (Спасибо KaFu)
  • Исправлена ошибка в функции _WinAPI_DisplayStruct(), из-за которой родительское окно (если использовалось) оставалось выключено после завершения функции.
  • Исправлена ошибка в функции _WinAPI_GetDriveGeometryEx(), из-за которой требовались права администратора в Windows Vista+. (Спасибо KaFu)
  • Исправлена ошибка в функции _WinAPI_ShellOpenFolderAndSelectItems(), которая могла привести к краху сценария при использовании COM (например AutoItObject).
  • Исправлено описание к некоторым функциям.
  • Обновлена документация.

Теперь вы должны скачивать WinAPIEx библиотеку отдельно для AutoIt 3.3.6.1 и AutoIt 3.3.8.0, в зависимости от того, какой версией AutoIt пользуетесь. Кроме того, в версии WinAPIEx для AutoIt 3.3.8.0 изменен дизайн справки (WinAPIEx.chm) по аналогии с оффициальной версией (Спасибо CreatoR'у).
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Yashied [?]
отдельно для AutoIt 3.3.6.1 и AutoIt 3.3.8.0
Скажите, пожалуйста, есть ли еще какая-либо разница в версиях, кроме комментирования для 3.3.8.0 функции _WinAPI_DuplicateHandle() в WinAPIEx.au3 и соответствующих констант в APIConstants.au3 ?
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Еще файл справки. На этом все.


Добавлено:
Сообщение автоматически объединено:

madmasles сказал(а):
... и соответствующих констант в APIConstants.au3 ?

Там очень много констант закомментировано.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Обновил библиотеку до версии 3.7.

Список изменений:
  • Добавлены следующие функции.

    _WinAPI_AdjustBitmap
    _WinAPI_CreateColorAdjustment
    _WinAPI_BackupRead
    _WinAPI_BackupReadAbort
    _WinAPI_BackupSeek
    _WinAPI_BackupWrite
    _WinAPI_BackupWriteAbort
    _WinAPI_CompareString
    _WinAPI_CompressBuffer
    _WinAPI_ConfirmCredentials
    _WinAPI_CreateDirectory
    _WinAPI_CreateHardLink
    _WinAPI_CreateProcessWithToken
    _WinAPI_CreateSymbolicLink
    _WinAPI_DecompressBuffer
    _WinAPI_DecryptFile
    _WinAPI_DrawFocusRect
    _WinAPI_DuplicateEncryptionInfoFile
    _WinAPI_DuplicateTokenEx
    _WinAPI_EncryptFile
    _WinAPI_EncryptionDisable
    _WinAPI_EnumDisplayMonitors
    _WinAPI_EnumFiles
    _WinAPI_EnumFileStreams
    _WinAPI_EnumHardLinks
    _WinAPI_EnumSystemGeoID
    _WinAPI_FileEncryptionStatus
    _WinAPI_FindCloseChangeNotification
    _WinAPI_FindFirstChangeNotification
    _WinAPI_FindFirstFileName
    _WinAPI_FindNextChangeNotification
    _WinAPI_FindNextFileName
    _WinAPI_GetColorAdjustment
    _WinAPI_GetFileID
    _WinAPI_GetFilePointerEx
    _WinAPI_GetGeoInfo
    _WinAPI_GetGlyphOutline
    _WinAPI_GetMonitorInfo
    _WinAPI_GetObjectInfoByHandle
    _WinAPI_GetStretchBltMode
    _WinAPI_GetSystemDefaultLangID
    _WinAPI_GetThreadLocale
    _WinAPI_GetThreadUILanguage
    _WinAPI_GetUserDefaultLangID
    _WinAPI_GetUserGeoID
    _WinAPI_GetVolumeInformation
    _WinAPI_GetVolumeInformationByHandle
    _WinAPI_GetWindowRgnBox
    _WinAPI_HashData
    _WinAPI_HashString
    _WinAPI_IsElevated
    _WinAPI_LoadStringEx
    _WinAPI_MonitorFromPoint
    _WinAPI_MonitorFromRect
    _WinAPI_MonitorFromWindow
    _WinAPI_ParseURL
    _WinAPI_ParseUserName
    _WinAPI_ReadDirectoryChanges
    _WinAPI_SetColorAdjustment
    _WinAPI_SetFileShortName
    _WinAPI_SetThreadLocale
    _WinAPI_SetThreadUILanguage
    _WinAPI_SetUserGeoID
    _WinAPI_ShellUserAuthenticationDlg
    _WinAPI_ShellUserAuthenticationDlgEx
    _WinAPI_UrlApplyScheme
    _WinAPI_UrlCanonicalize
    _WinAPI_UrlCombine
    _WinAPI_UrlCompare
    _WinAPI_UrlHash
    _WinAPI_VerQueryValueEx

  • Добавлены примеры к вышеперечисленным функциям.
  • Удалены следующие функции.

    _WinAPI_GetFileSize (используйте _WinAPI_GetFileSizeEx)
    _WinAPI_LZNTCompress (используйте _WinAPI_CompressBuffer)
    _WinAPI_LZNTDecompress (используйте _WinAPI_DecompressBuffer)
    _WinAPI_ResizeBitmap (используйте _WinAPI_AdjustBitmap)
    _WinAPI_ShutdownDlg (за ненадобностью)
    _WinAPI_UrlEscape (используйте _WinAPI_UrlCanonicalize)
    _WinAPI_UrlUnescape (используйте _WinAPI_UrlCanonicalize)

  • Добавлена $tagFILE_ID_DESCRIPTOR структура.
  • Добавлен опциональный параметр в функции _WinAPI_RegSaveKey().
  • Добавлен опциональный параметр в функции _WinAPI_GetFileVersionInfo().
  • Третий и четвертый параметры в функции _WinAPI_OpenFileById() теперь являются опциональными (аналогично _WinAPI_CreateFileEx()).
  • Следующие функции теперь работают с указателями вместо структур (см. описание).

    _WinAPI_CompressBitmapBits
    _WinAPI_GetEnhMetaFileBits
    _WinAPI_GetFileVersionInfo
    _WinAPI_SetEnhMetaFileBits

  • Функции _WinAPI_DeleteObjectID(), _WinAPI_RegRestoreKey() и _WinAPI_RegSaveKey() больше не устанавливают необходимые для себя привилегии (вы должны проделать это самостоятельно перед вызовом этих функций).
  • Функция _WinAPI_GetCompression() теперь возвращает (-1) вместо 0 при возникновении ошибки.
  • Функция _WinAPI_OpenFileById() теперь может работать с идентификаторами файлов (FileID).
  • Функция _WinAPI_SetStretchBltMode() теперь возвращает предыдущее значение режима.
  • Функции _WinAPI_VerQueryRoot() и _WinAPI_VerQueryValue() переписаны для работы с указателями вместо файлов (см. описание).
  • Исправлены примеры для некоторых функций.
  • Обновлена документация.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Небольшое обновление библиотеки, версия осталась прежней.

Список изменений:
  • Добавлен инсталлятор (см. первый пост).
  • Обновлена документация.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Небольшое обновление библиотеки, версия осталась прежней.

Список изменений:
  • Добавлены следующие функции.

    _WinAPI_GetFileInformationByHandleEx
    _WinAPI_SetFileInformationByHandleEx

  • Обновлена документация.
 

asdf8

Скриптер
Сообщения
564
Репутация
152
Yashied
В последних версиях UDF файл справки скомпилирован не очень хорошо - он, конечно, стал меньше размером, но при его интеграции с AutoIt.chm перестал работать поиск по F1 из SciTE по функциям из WinAPIEx.

ps. про размер файла - я скорее всего загнул :smile:
при перекомпиляции я добавил информацию для полнотекстового поиска.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Небольшое обновление библиотеки, версия осталась прежней.

Список изменений:
  • Добавлены Row Input функции.

    _WinAPI_DefRawInputProc
    _WinAPI_EnumRawInputDevices
    _WinAPI_GetRawInputBuffer
    _WinAPI_GetRawInputBufferLength
    _WinAPI_GetRawInputData
    _WinAPI_GetRawInputDeviceInfo
    _WinAPI_GetRegisteredRawInputDevices
    _WinAPI_RegisterRawInputDevices

  • Добавлены функции конвертации.

    _WinAPI_ShortToWord
    _WinAPI_WordToShort

  • Обновлена документация.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
Yashied
Поздравляю, библиотека добавлена в пакет AutoIt! :beer:
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Yashied
Наконец Вашу замечательную библиотеку включили в AutoIt!!! :beer:
Спасибо за труд! :thanks:
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Yashied
От всей души поздравляю! :beer:
Спасибо за Ваш труд! :thanks:
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Пока рано радоваться, т.к. ее еще нужно интегрировать в WinAPI.au3 (или наоборот). На данный момент не совсем понятно как быть дальше. С одной стороны кажется логичным разделить ее на несколько частей, но с другой стороны это может внести еще больше путаницы, т.к. многие другие UDF из дистрибутива AutoIt используют WinAPI.au3...
 

asdf8

Скриптер
Сообщения
564
Репутация
152
Yashied [?]
Пока рано радоваться
И как быть с тем, что WinAPIex обновляется гораздо чаще, чем дистрибутив AutoIt?

Yashied планируется ли дальнейшая работа над этой UDF?
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
asdf8 сказал(а):
Yashied планируется ли дальнейшая работа над этой UDF?

Да, конечно. Она будет обновлятся вместе с AutoIt.
 
Верх