- Сообщения
- 5,379
- Репутация
- 2,724
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
Версия: 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 (в архиве)
Список функций:
См. WinAPIEx.au3...
История версий (v2.4 - v3.8):
v3.8
- Добавлены следующие функции.
_WinAPI_CLSIDFromProgID
_WinAPI_CreateBufferFromStruct
_WinAPI_CreateFontEx
_WinAPI_DwmDefWindowProc
_WinAPI_DwmGetColorizationParameters
_WinAPI_DwmSetColorizationParameters
_WinAPI_EnumFontFamilies
_WinAPI_FileIconInit
_WinAPI_GetBrushOrg
_WinAPI_GetEffectiveClientRect
_WinAPI_GetFontName
_WinAPI_GetMUILanguage
_WinAPI_GetPEType
_WinAPI_GetTabbedTextExtent
_WinAPI_OpenFileDlg
_WinAPI_InitMUILanguage
_WinAPI_IsNameInExpression
_WinAPI_IsPathShared
_WinAPI_MirrorIcon
_WinAPI_ProgIDFromCLSID
_WinAPI_SaveFileDlg
_WinAPI_SearchPath
_WinAPI_SetBrushOrg
_WinAPI_SetFileValidData
_WinAPI_SetSearchPathMode
_WinAPI_ShellCreateDirectory
_WinAPI_ShellExecuteEx
_WinAPI_ShellFlushSFCache
_WinAPI_ShellGetIconOverlayIndex
_WinAPI_ShellGetImageList
_WinAPI_ShellGetKnownFolderIDList
_WinAPI_ShellSetKnownFolderPath
_WinAPI_ShellUpdateImage
_WinAPI_TabbedTextOut
_WinAPI_TerminateJobObject
_WinAPI_TerminateProcess
_WinAPI_UpdateLayeredWindowIndirect
_WinAPI_UserHandleGrantAccess
- Добавлены примеры к вышеперечисленным функциям.
- Добавлено несколько констант и структур.
- Добавлен файл NTErrors.au3 (опционально), содержащий значения NTSTATUS кодов.
- Добавлен один опциональный параметр в функции _WinAPI_MapVirtualKey() (см. описание).
- Функция _WinAPI_EnumDllProc() теперь работает в Windows XP (требуется dbghelp.dll версии 5.1 или более поздней).
- Функция _WinAPI_EnumProcessHandles() теперь работает как для 32-, так и для 64-битных систем.
- Функция _WinAPI_GetProcAddress() теперь работает с порядковыми значениями функций (только для AutoIt 3.3.6.1).
- Исправлена ??утечка памяти в функции _WinAPI_AssocGetPerceivedType().
- Некоторые внутренние изменения в коде.
- Обновлена документация.
v3.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_DefRawInputProc
_WinAPI_DrawFocusRect
_WinAPI_DuplicateEncryptionInfoFile
_WinAPI_DuplicateTokenEx
_WinAPI_EncryptFile
_WinAPI_EncryptionDisable
_WinAPI_EnumDisplayMonitors
_WinAPI_EnumFiles
_WinAPI_EnumFileStreams
_WinAPI_EnumHardLinks
_WinAPI_EnumRawInputDevices
_WinAPI_EnumSystemGeoID
_WinAPI_FileEncryptionStatus
_WinAPI_FindCloseChangeNotification
_WinAPI_FindFirstChangeNotification
_WinAPI_FindFirstFileName
_WinAPI_FindNextChangeNotification
_WinAPI_FindNextFileName
_WinAPI_GetColorAdjustment
_WinAPI_GetFileID
_WinAPI_GetFileInformationByHandleEx
_WinAPI_GetFilePointerEx
_WinAPI_GetGeoInfo
_WinAPI_GetGlyphOutline
_WinAPI_GetMonitorInfo
_WinAPI_GetObjectInfoByHandle
_WinAPI_GetRawInputBuffer
_WinAPI_GetRawInputBufferLength
_WinAPI_GetRawInputData
_WinAPI_GetRawInputDeviceInfo
_WinAPI_GetRegisteredRawInputDevices
_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_RegisterRawInputDevices
_WinAPI_SetColorAdjustment
_WinAPI_SetFileInformationByHandleEx
_WinAPI_SetFileShortName
_WinAPI_SetThreadLocale
_WinAPI_SetThreadUILanguage
_WinAPI_SetUserGeoID
_WinAPI_ShellUserAuthenticationDlg
_WinAPI_ShellUserAuthenticationDlgEx
_WinAPI_ShortToWord
_WinAPI_UrlApplyScheme
_WinAPI_UrlCanonicalize
_WinAPI_UrlCombine
_WinAPI_UrlCompare
_WinAPI_UrlHash
_WinAPI_VerQueryValueEx
_WinAPI_WordToShort
- Добавлены примеры к вышеперечисленным функциям.
- Удалены следующие функции.
_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() переписаны для работы с указателями вместо файлов (см. описание).
- Исправлены примеры для некоторых функций.
- Обновлена документация.
v3.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).
- Исправлено описание к некоторым функциям.
- Обновлена документация.
v3.5
- Добавлены следующие функции.
_WinAPI_ChangeWindowMessageFilterEx
_WinAPI_CompressBitmapBits
_WinAPI_ComputeCrc32
_WinAPI_CreateANDBitmap
_WinAPI_CreateDIBColorTable
_WinAPI_CreateEmptyIcon
_WinAPI_CreateNumberFormatInfo
_WinAPI_EnumDllProc
_WinAPI_EnumProcessHandles
_WinAPI_FreeMemory
_WinAPI_GetBitmapDimensionEx
_WinAPI_GetDIBColorTable
_WinAPI_GetDurationFormat
_WinAPI_GetExtended
_WinAPI_GetFinalPathNameByHandleEx
_WinAPI_GetNumberFormat
_WinAPI_GetObjectNameByHandle
_WinAPI_InvertANDBitmap
_WinAPI_IsAlphaBitmap
_WinAPI_IsString
_WinAPI_MakeWord
_WinAPI_PathAddBackslash
_WinAPI_PathAddExtension
_WinAPI_PathCommonPrefix
_WinAPI_PathCanonicalize
_WinAPI_PathCreateFromUrl
_WinAPI_PathIsUNC
_WinAPI_PathIsUNCServer
_WinAPI_PathIsUNCServerShare
_WinAPI_PlgBlt
_WinAPI_ReleaseStream
_WinAPI_SaveHBITMAPToFile
_WinAPI_SetBitmapDimensionEx
_WinAPI_SetDIBColorTable
_WinAPI_StrFormatByteSizeEx
_WinAPI_SwapQWord
_WinAPI_SwapWord
_WinAPI_ZeroMemory
- Добавлены примеры к вышеперечисленным функциям.
- Добавлен отсутствующий файл Airplane.wav, который используется в некоторых примерах.
- Добавлены отсутствующие Dialog Box Styles ($DS_*), Window Styles ( $WS_*) и Extended Window Styles ($WS_EX_*) константы.
- Добавлены два опциональных параметра в функции _WinAPI_CreateDIB() (см. описание).
- Переписана функция _WinAPI_AddIconTransparency() для повышения производительности.
- Переписана функция _WinAPI_SwapDWord() для другого назначения (см. описание).
- Функция _WinAPI_SaveHICONToFile() теперь работает с 16, 24 и 32-битными иконками. Также создается альфа-канал для 32-битных иконок и, опционально, используется PNG сжатие, если размер иконки равен или превышает 256x256 пикселей.
- Функция _WinAPI_Create32BitHICON() теперь всегда создает иконки с альфа-каналом и битовой маской.
- Следующие функции теперь работают с указателями вместо структур (см. описание).
_WinAPI_CreateString
_WinAPI_FindTextDlg
_WinAPI_RegQueryMultipleValues
_WinAPI_ReplaceTextDlg
- Изменен способ вызова DllCall() в некоторых функциях для повышения производительности.
- Изменен заголовок в функции _WinAPI_Create32BitHBITMAP() (см. описание).
- Изменен размер буфера по умолчанию с 8192 до 16384 символов, который используют функции _WinAPI_FindTextDlg() и _WinAPI_ReplaceTextDlg().
- Исправлена ??ошибка во многих функциях, работающих со строковыми переменными, которая может привести к вылету скрипта из-за недостаточного размера выделенной памяти. (Спасибо Ward)
- Исправлена ??ошибка в _WinAPI_AddIconOverlay(), _WinAPI_Create32BitHBITMAP() и _WinAPI_Create32BitHICON() функциях, приводящая к неправильному преобразованию иконки, если изначальная иконка была загружена из .ico файла с PNG сжатием (Windows Vista и выше).
- Исправлена ??ошибка в функции _WinAPI_AddIconTransparency(), приводящая к неправильному преобразованию, если изначальная иконка не является 32-битной иконкой.
- Исправлена ??ошибка в _WinAPI_EnumResource... функциях, из-за которой флаг @error всегда содержал ненулевое значение. (Спасибо Ward)
- Исправлена ??ошибка в _WinAPI_GetClipBox() и _WinAPI_GetRgnBox() функциях, приводящая к возврату ошибки, если $tagRECT структура не была создана до вызова этих функций.
- Исправлена ??ошибка в функции _WinAPI_SaveHICONToFile(), приводящая к созданию поврежденного .ico файла, если параметр $hIcon не являлся указателем на иконку (HICON).
- Исправлена ??ошибка в функции _WinAPI_UniqueHardwareID(), приводящая к генерации неправильного GUID при использовании $UHID_HDD флага.
- Исправлена ошибка в некоторых функциях связанная с некорректным сравнением с 0xFFFFFFFF. (Спасибо money)
- Обновлена документация.
v3.4
- Добавлены следующие функции.
_WinAPI_CascadeWindows
_WinAPI_CloseDesktop
_WinAPI_CloseWindowStation
_WinAPI_CombineTransform
_WinAPI_CommDlgExtendedErrorEx
_WinAPI_CreateDesktop
_WinAPI_CreateDirectoryEx
_WinAPI_CreateString
_WinAPI_CreateTransform
_WinAPI_CreateWindowStation
_WinAPI_DefSubclassProc
_WinAPI_DeleteObjectID
_WinAPI_DisplayStruct
_WinAPI_DllGetVersion
_WinAPI_DPtoLP
_WinAPI_EnumDesktops
_WinAPI_EnumDesktopWindows
_WinAPI_EnumPageFiles
_WinAPI_EnumWindowStations
_WinAPI_ExtCreatePen
_WinAPI_FindTextDlg
_WinAPI_FlushFRBuffer
_WinAPI_GdiComment
_WinAPI_CreateObjectID
_WinAPI_GetAllUsersProfileDirectory
_WinAPI_GetCompressedFileSize
_WinAPI_GetCurrentObject
_WinAPI_GetCurrentPosition
_WinAPI_GetCurrentProcessExplicitAppUserModelID
_WinAPI_GetDefaultUserProfileDirectory
_WinAPI_GetFileInformationByHandle
_WinAPI_GetFileType
_WinAPI_GetFRBuffer
_WinAPI_GetFullPathName (Thanks guinness)
_WinAPI_GetGraphicsMode
_WinAPI_GetLastActivePopup
_WinAPI_GetMapMode
_WinAPI_GetMessageExtraInfo
_WinAPI_GetModuleFileNameEx
_WinAPI_GetModuleInformation
_WinAPI_GetObjectID
_WinAPI_GetProcessID
_WinAPI_GetProcessWindowStation
_WinAPI_GetProfilesDirectory
_WinAPI_GetPwrCapabilities
_WinAPI_GetShellWindow
_WinAPI_GetStartupInfo
_WinAPI_GetString
_WinAPI_GetTextCharacterExtra
_WinAPI_GetThreadDesktop
_WinAPI_GetThreadErrorMode
_WinAPI_GetUserObjectInformation
_WinAPI_GetWindowDisplayAffinity
_WinAPI_GetWindowExt
_WinAPI_GetWindowOrg
_WinAPI_GetWindowSubclass
_WinAPI_GetWorldTransform
_WinAPI_Hex64
_WinAPI_InvertColor
_WinAPI_IsBadCodePtr
_WinAPI_IsBadReadPtr
_WinAPI_IsBadStringPtr
_WinAPI_IsBadWritePtr
_WinAPI_LPtoDP
_WinAPI_MapVirtualKey
_WinAPI_ModifyWorldTransform
_WinAPI_OffsetWindowOrg
_WinAPI_OpenDesktop
_WinAPI_OpenFileById
_WinAPI_OpenInputDesktop
_WinAPI_OpenWindowStation
_WinAPI_PageSetupDlg
_WinAPI_PrintDlg
_WinAPI_PrintDlgEx
_WinAPI_RegisterPowerSettingNotification
_WinAPI_RemoveWindowSubclass
_WinAPI_ReplaceTextDlg
_WinAPI_SetCurrentProcessExplicitAppUserModelID
_WinAPI_SetFRBuffer
_WinAPI_SetGraphicsMode
_WinAPI_SetMapMode
_WinAPI_SetMessageExtraInfo
_WinAPI_SetProcessWindowStation
_WinAPI_SetTextCharacterExtra
_WinAPI_SetTextJustification
_WinAPI_SetThreadDesktop
_WinAPI_SetThreadErrorMode
_WinAPI_SetThreadExecutionState
_WinAPI_SetUserObjectInformation
_WinAPI_SetWindowDisplayAffinity
_WinAPI_ScaleWindowExt
_WinAPI_SetWindowExt
_WinAPI_SetWindowOrg
_WinAPI_SetWindowSubclass
_WinAPI_SetWorldTransform
_WinAPI_ShellGetLocalizedName
_WinAPI_ShellNotifyIconGetRect
_WinAPI_ShellRemoveLocalizedName
_WinAPI_ShellRestricted
_WinAPI_ShellSetLocalizedName
_WinAPI_ShellStartNetConnectionDlg
_WinAPI_SwitchDesktop
_WinAPI_TileWindows
_WinAPI_UnregisterPowerSettingNotification
- Добавлены примеры к вышеперечисленным функциям.
- Удалены следующие функции.
_WinAPI_GetModuleFileName (используйте _WinAPI_GetModuleFileNameEx)
_WinAPI_GetObjectEx (используйте _WinAPI_GetObject)
_WinAPI_GetTextMetrics (см. ниже)
_WinAPI_IsPressed (за ненадобностью)
_WinAPI_LookupPrivilegeName (используйте Security.au3)
_WinAPI_LookupPrivilegeValue (используйте Security.au3)
- APIConstants.au3 теперь включает в себя большинство таких библиотек как FileСonstants.au3, FontСonstants.au3 и т.д., связанных с _WinAPI_* функциями.
- APIConstants.au3 теперь полностью совместим со всеми UDF из дистрибутива AutoIt, за исключением NamedPipes.au3.
- WinAPIEx.au3 теперь не включает в себя APIConstants.au3. Вы должны самостоятельно включить APIConstants.au3 в ваши скрипты с помощью "#Include", если хотите использовать объявленные в нем константы.
- Следующие функции теперь возвращают массив вместо структуры.
_WinAPI_GetCurrentHwProfile
_WinAPI_GetDriveGeometryEx
_WinAPI_GetDriveNumber
_WinAPI_GetIconInfoEx
- Добавлены $SFGAO_* константы, которые могут быть использованы в функции _WinAPI_ShellGetFileInfo().
- Добавлены константы классов окон ($WC_*).
- Изменены примеры для некоторых (_WinAPI_PlaySound() и др.) функций.
- _WinAPI_GetCDType() и _WinAPI_IsDoorOpen() теперь работают в 64-битных системах.
- _WinAPI_EnumProcessModules() теперь работает в 64-битных системах, начиная с Windows Vista. Также добавлен опциональный параметр.
- Изменены функции _WinAPI_AdjustTokenPrivileges() и _WinAPI_ShowLastError(), см. документацию.
- _WinAPI_GetFileSizeOnDisk() была полностью переписана.
- _WinAPI_DllGetVersion() возвращена обратно.
- Изменена функция _WinAPI_Create32BitHBITMAP() для поддержки прозрачности и совместимости со Static элементами.
- Исправлен неверный тип данных элемента "GUID" в структуре $tagNOTIFYICONDATA_XP.
- Переименованы структуры $tagNOTIFYICONDATA_XP и $tagNOTIFYICONDATA_VISTA в $tagNOTIFYICONDATA_V3 и $tagNOTIFYICONDATA_V4 соответственно.
- Удалена функция _WinAPI_GetTextMetrics() для совместимости с AutoIt 3.3.7.* Beta и последующей финальной версии.
- Исправлена ошибка, приводящая к появлению сообщений об ошибках при использовании Obfuscator'а с параметром "/striponly". (Спасибо asdf8)
- Исправлена неточность в описании функции _WinAPI_StrFormatByteSize(). (Спасибо guinness)
- Исправлена ошибка, связанная с неверным объявлением типа данных в функции _WinAPI_PathFindFileName(). (Спасибо Zedna)
- Исправлена ошибка в некоторых примерах для _WinAPI_Reg* функций, которая могла привести к вылету скрипта. (Спасибо madmasles)
- Исправлена ошибка, приводящая к утечке памяти, если функция _WinAPI_RegQueryMultipleValues() завершалась с ошибкой.
- Исправлены неверные значения для некоторых констант.
- Обновлена документация.
v3.3
- Добавлены следующие функции.
_WinAPI_BeginBufferedPaint
_WinAPI_BufferedPaintClear
_WinAPI_BufferedPaintInit
_WinAPI_BufferedPaintSetAlpha
_WinAPI_BufferedPaintUnInit
_WinAPI_CreateDIB
_WinAPI_CreateNullRgn
_WinAPI_DrawThemeEdge
_WinAPI_DrawThemeIcon
_WinAPI_DwmInvalidateIconicBitmaps
_WinAPI_DwmSetIconicLivePreviewBitmap
_WinAPI_DwmSetIconicThumbnail
_WinAPI_DWordToFloat
_WinAPI_EndBufferedPaint
_WinAPI_EqualMemory
_WinAPI_FillMemory
_WinAPI_FloatToDWord
_WinAPI_GetApplicationRestartSettings
_WinAPI_GetBufferedPaintBits
_WinAPI_GetBufferedPaintDC
_WinAPI_GetBufferedPaintTargetDC
_WinAPI_GetBufferedPaintTargetRect
_WinAPI_GetBoundsRect
_WinAPI_GetDeviceGammaRamp
_WinAPI_GetThemeBackgroundContentRect
_WinAPI_GetThemeBackgroundExtent
_WinAPI_GetThemeBackgroundRegion
_WinAPI_GetThemeBitmap
_WinAPI_GetThemeBool
_WinAPI_GetThemeEnumValue
_WinAPI_GetThemeFilename
_WinAPI_GetThemeMetric
_WinAPI_GetThemePropertyOrigin
_WinAPI_GetThemeString
_WinAPI_GetThemeSysBool
_WinAPI_GetThemeSysColor
_WinAPI_GetThemeSysColorBrush
_WinAPI_GetThemeSysFont
_WinAPI_GetThemeSysInt
_WinAPI_GetThemeSysSize
_WinAPI_GetThemeSysString
_WinAPI_GetThemeTextExtent
_WinAPI_GetThemeTextMetrics
_WinAPI_GetThemeTransitionDuration
_WinAPI_GetWindowTheme
_WinAPI_LZNTCompress
_WinAPI_LZNTDecompress
_WinAPI_MoveMemory
_WinAPI_PaintDesktop
_WinAPI_RegisterApplicationRestart
_WinAPI_SaveHICONToFile
_WinAPI_SetBoundsRect
_WinAPI_SetDeviceGammaRamp
_WinAPI_UnregisterApplicationRestart
- Добавлены примеры к вышеперечисленным функциям.
- Удалены следующие функции.
_WinAPI_DllGetVersion
_WinAPI_EqualStruct
_WinAPI_FillStruct
- Переписаны следующие функции.
_WinAPI_CopyStruct
_WinAPI_ShellGetSettings
_WinAPI_ShellSetSettings
_WinAPI_StructToArray
_WinAPI_UnionStruct
- Исправлена ошибка в функции _WinAPI_SetDIBitsToDevice(). (спасибо Guinness)
- Обновлена документация.
v3.2
- Добавлены следующие функции.
_WinAPI_AddClipboardFormatListener
_WinAPI_AddIconOverlay
_WinAPI_AddIconTransparency
_WinAPI_Create32BitHBITMAP
_WinAPI_Create32BitHICON
_WinAPI_CreatePoint
_WinAPI_EnumProcessModules
_WinAPI_ExtractIcon
_WinAPI_FileInUse
_WinAPI_GetClipboardSequenceNumber
_WinAPI_GetDllDirectory
_WinAPI_GetExitCodeProcess
_WinAPI_GetFinalPathNameByHandle
_WinAPI_GetGUIThreadInfo (Спасибо KaFu)
_WinAPI_GetIconInfoEx
_WinAPI_GetPhysicallyInstalledSystemMemory
_WinAPI_GetProcessShutdownParameters
_WinAPI_GetProcessUser
_WinAPI_GetProcessWorkingDirectory
_WinAPI_GetRegKeyNameByHandle
_WinAPI_GetSystemDEPPolicy (Спасибо KaFu)
_WinAPI_LoadIndirectString
_WinAPI_LockWindowUpdate
_WinAPI_NtStatusToDosError
_WinAPI_PathCompactPathEx
_WinAPI_PathIsContentType
_WinAPI_PathIsLFNFileSpec
_WinAPI_PathIsRoot
_WinAPI_PathIsSystemFolder
_WinAPI_PathMakeSystemFolder
_WinAPI_PathRemoveBackslash
_WinAPI_PathRemoveExtension
_WinAPI_PathRemoveFileSpec
_WinAPI_PathSkipRoot
_WinAPI_PathStripPath
_WinAPI_PathStripToRoot
_WinAPI_PathUndecorate
_WinAPI_PathUnmakeSystemFolder
_WinAPI_RegDisableReflectionKey
_WinAPI_RegEnableReflectionKey
_WinAPI_RegQueryReflectionKey
_WinAPI_RemoveClipboardFormatListener
_WinAPI_SetDllDirectory
_WinAPI_SetProcessShutdownParameters
_WinAPI_SetWinEventHook
_WinAPI_SfcIsFileProtected
_WinAPI_SfcIsKeyProtected
_WinAPI_ShellExecute
_WinAPI_ShutdownBlockReasonCreate
_WinAPI_ShutdownBlockReasonDestroy
_WinAPI_ShutdownBlockReasonQuery
_WinAPI_StretchDIBits
_WinAPI_StrFormatByteSize
_WinAPI_StrFormatKBSize
_WinAPI_StrFromTimeInterval
_WinAPI_TrackMouseEvent (Спасибо Mat)
_WinAPI_UnhookWinEvent
_WinAPI_UrlCreateFromPath
_WinAPI_UrlEscape
_WinAPI_UrlGetPart
_WinAPI_UrlFixup
_WinAPI_UrlIs
_WinAPI_UrlUnescape
- Добавлены примеры к вышеперечисленным функциям.
- Добавлен файл APIErrors.au3 (опционально), содержащий константы всех системных ошибок Windows.
- Удалена функция _WinAPI_PathIsURL(), используйте _WinAPI_UrlIs().
- Функции _WinAPI_GetOutlineTextMetrics() и _WinAPI_ShellQueryRecycleBin() теперь корректно работают в 64-битных системах. (Спасибо KaFu)
- Исправлено несколько примеров, использующих Resources.dll, для корректной работы в 64-битных системах.
- Исправлена ошибка в функции _WinAPI_PathCompactPath(), которая в некоторых случаях могла привести к вылету скрипта.
- Исправлена ошибка в функции _WinAPI_GetFileAttributes(), приводящая к возврату неверного кода ошибки.
- Исправлено описание к некоторым функциям.
- Обновлена документация.
v3.1
- Добавлены следующие функции.
_WinAPI_AbortPath
_WinAPI_AngleArc
_WinAPI_Arc
_WinAPI_ArcTo
_WinAPI_BeginPath
_WinAPI_CloseFigure
_WinAPI_CreateBitmapIndirect
_WinAPI_CreateDIBitmap
_WinAPI_CreateMutex
_WinAPI_DuplicateHandle
_WinAPI_EndPath
_WinAPI_ExcludeClipRect
_WinAPI_ExtCreateRegion
_WinAPI_FillPath
_WinAPI_FlattenPath
_WinAPI_GetArcDirection
_WinAPI_GetBitmapBits
_WinAPI_GetClassInfoEx
_WinAPI_GetClipBox
_WinAPI_GetClipRgn
_WinAPI_GetFileTitle
_WinAPI_GetPolyFillMode
_WinAPI_GetRegionData
_WinAPI_IntersectClipRect
_WinAPI_LineDDA
_WinAPI_MaskBlt
_WinAPI_MessageBoxIndirect
_WinAPI_OpenMutex
_WinAPI_PathIsURL
_WinAPI_PathParseIconLocation
_WinAPI_PathRemoveArgs
_WinAPI_PathToRegion
_WinAPI_PathUnquoteSpaces
_WinAPI_PtVisible
_WinAPI_RectInRegion
_WinAPI_RectVisible
_WinAPI_RegisterClassEx
_WinAPI_RegNotifyChangeKeyValue
_WinAPI_ReleaseMutex
_WinAPI_ResetEvent
_WinAPI_SelectClipPath
_WinAPI_SelectClipRgn
_WinAPI_SetArcDirection
_WinAPI_SetBitmapBits
_WinAPI_SetDIBitsToDevice
_WinAPI_SetPolyFillMode
_WinAPI_SetRectRgn
_WinAPI_SetWindowTheme
_WinAPI_StrokeAndFillPath
_WinAPI_StrokePath
_WinAPI_UnregisterClass
_WinAPI_WidenPath
- Добавлены примеры к вышеперечисленным функциям.
- _WinAPI_*MRU*() функции больше не работают с двоичными данными.
- Все константы теперь находятся в отдельном файле APIConstants.au3.
- Исправлено описание к некоторым функциям.
- Обновлена документация.
v3.0
- Добавлены следующие функции.
_WinAPI_AddFontMemResourceEx
_WinAPI_BeginUpdateResource
_WinAPI_ClipCursor
_WinAPI_CreateFileMapping
_WinAPI_CreateIcon
_WinAPI_CreateIconFromResourceEx
_WinAPI_DllGetVersion
_WinAPI_EndUpdateResource
_WinAPI_FlushViewOfFile
_WinAPI_GetClipCursor
_WinAPI_GetConnectedDlg
_WinAPI_GetDCEx
_WinAPI_GetErrorMessage
_WinAPI_GetOutlineTextMetrics
_WinAPI_GetProcessHandleCount
_WinAPI_GetSystemTimes
_WinAPI_GetTextAlign
_WinAPI_IsInternetConnected
_WinAPI_LookupIconIdFromDirectoryEx
_WinAPI_MapViewOfFile
_WinAPI_OpenFileMapping
_WinAPI_PathRelativePathTo (спасибо Mat)
_WinAPI_RegQueryMultipleValues
_WinAPI_RemoveFontMemResourceEx
_WinAPI_ReplaceFile
_WinAPI_SetTextAlign
_WinAPI_UnmapViewOfFile
_WinAPI_UpdateResource
- Добавлены примеры к вышеперечисленным функциям.
- Переименованы следующие функции.
_WinAPI_GetModuleFileNameEx => _WinAPI_GetProcessFileName
_WinAPI_GetWindowModuleFileName => _WinAPI_GetWindowFileName
- Удалены следующие функции.
_WinAPI_FileTimeToLocalFileTime (используйте Date.au3)
_WinAPI_FileTimeToSystemTime (используйте Date.au3)
_WinAPI_GetIconBitmap (используйте _WinAPI_GetIconInfo())
_WinAPI_GetIconMask (используйте _WinAPI_GetIconInfo())
_WinAPI_GetProfilesDirectory (используйте _WinAPI_ShellGetKnownFolderPath())
- Изменены заголовки у следующих функций.
_WinAPI_FindResource
_WinAPI_FindResourceEx
_WinAPI_PathSearchAndQualify (добавлен параметр)
- Следующие функции теперь возвращают массивы вместо структур (см. документацию).
_WinAPI_GetProcessIoCounters
_WinAPI_GetProcessMemoryInfo
- Изменены некоторые внутренние функции.
- Изменены названия элементов в $tagTEXTMETRIC структуре.
- Удалена $tagPROCESS_MEMORY_COUNTERS структура.
- Убраны неиспользованные локальные переменные в некоторых функциях. (спасибо guinness)
- Предотвращена выгрузка из памяти некоторых DLL (например sensapi.dll) после вызова содержащихся в них функций.
- Исправлена ошибка в функции _WinAPI_AdjustTokenPrivileges(), из-за которой возвращался неверный код системной ошибки.
- Исправлена ошибка приводящая к утечки памяти в функции _WinAPI_UpdateLayeredWindowEx().
- Исправлено несколько ошибок, связанных с неверным объявлением типов данных.
- Исправлено несколько незначительных ошибок.
- Обновлена документация.
v2.9
- Добавлены следующие функции.
_WinAPI_CoInitialize
_WinAPI_CoUninitialize
_WinAPI_GetCDType
_WinAPI_GetErrorMode
_WinAPI_GetFileAttributes
_WinAPI_GetFileSizeOnDisk
_WinAPI_GetLogicalDrives
_WinAPI_HiByte
_WinAPI_IOCTL
_WinAPI_LoByte
_WinAPI_LongMid
_WinAPI_SetErrorMode
_WinAPI_SetFileAttributes
_WinAPI_SetLocaleInfo
_WinAPI_ShellGetSetFolderCustomSettings
_WinAPI_ShellOpenFolderAndSelectItems
_WinAPI_ShellQueryUserNotificationState
- Добавлены примеры к вышеперечисленным функциям.
- Добавлены константы (Control Codes) для функции _WinAPI_DeviceIoControl().
- Обновлена документация.
v2.8
- Добавлены следующие функции.
_WinAPI_DeleteFile
_WinAPI_ExtFloodFill
_WinAPI_GetWindowLongEx
_WinAPI_MoveToEx
_WinAPI_OffsetPoints
_WinAPI_PolyBezier
_WinAPI_PolyBezierTo
_WinAPI_PolyDraw
_WinAPI_RegCopyTreeEx
_WinAPI_RegDeleteKeyValue
_WinAPI_RegDeleteTreeEx
_WinAPI_RegDeleteValue
_WinAPI_RegDuplicateHKey
_WinAPI_RegLoadMUIString
_WinAPI_ReOpenFile
_WinAPI_RotatePoints
_WinAPI_SetWindowLongEx
_WinAPI_Wow64EnableWow64FsRedirection
- Добавлены примеры к вышеперечисленным функциям.
- Переименованы следующие функции.
_WinAPI_GetClassLong => _WinAPI_GetClassLongEx
_WinAPI_SetClassLong => _WinAPI_SetClassLongEx
- Обновлена документация.
v2.7
- Добавлены следующие функции.
_WinAPI_BeginDeferWindowPos
_WinAPI_CalculatePopupWindowPosition
_WinAPI_CloseEnhMetaFile
_WinAPI_CopyEnhMetaFile
_WinAPI_CreateEnhMetaFile
_WinAPI_DeferWindowPos
_WinAPI_DeleteEnhMetaFile
_WinAPI_EndDeferWindowPos
_WinAPI_GetEnhMetaFile
_WinAPI_GetEnhMetaFileBits
_WinAPI_GetEnhMetaFileDescription
_WinAPI_GetEnhMetaFileDimension
_WinAPI_GetEnhMetaFileHeader
_WinAPI_GetFileVersionInfo
_WinAPI_GetModuleFileName
_WinAPI_GetModuleHandleEx
_WinAPI_GetProcessCommandLine
_WinAPI_GetUDFColorMode
_WinAPI_GetUDFVersion
_WinAPI_SetEnhMetaFileBits
_WinAPI_SwapDWord
_WinAPI_PlayEnhMetaFile
_WinAPI_VerQueryRoot
_WinAPI_VerQueryValue
- Добавлены примеры к вышеперечисленным функциям.
- Переименованы следующие функции.
_WinAPI_DuplicateBitmap => _WinAPI_CopyBitmap
_WinAPI_DuplicateCursor => _WinAPI_CopyCursor
_WinAPI_DuplicateStruct => _WinAPI_CopyStruct
_WinAPI_FitToBitmap => _WinAPI_ResizeBitmap
_WinAPI_FreeCursor => _WinAPI_DestroyCursor
_WinAPI_SetLibraryColorMode => _WinAPI_SetUDFColorMode
_WinAPI_ShellExtractIcons => _WinAPI_ShellExtractIcon
- Удалены следующие функции.
_WinAPI_DuplicateIcon (используйте _WinAPI_CopyIcon())
_WinAPI_FreeHandle (используйте _WinAPI_CloseHandle())
_WinAPI_FreeIcon (используйте _WinAPI_DestroyIcon())
_WinAPI_FreeObject (используйте _WinAPI_DeleteObject())
_WinAPI_PrivateExtractIcon (используйте _WinAPI_ShellExtractIcon())
- Следующие функции заменены на их Unicode версии.
_WinAPI_GetObjectEx
_WinAPI_GetTextMetrics
- Следующие функции теперь работают с KLID вместо LCID.
_WinAPI_GetKeyboardLayout
_WinAPI_GetKeyboardLayoutList
_WinAPI_LoadKeyboardLayout
_WinAPI_SetKeyboardLayout
- Добавлены дополнительные параметры для функции _WinAPI_SetKeyboardLayout().
- Обновлена документация.
v2.6
- Добавлены следующие функции.
_WinAPI_ActivateKeyboardLayout
_WinAPI_CommandLineToArgv
_WinAPI_CreateGUID
_WinAPI_DeviceIoControl
_WinAPI_DrawThemeTextEx
_WinAPI_DwmGetColorizationColor
_WinAPI_DwmGetWindowAttribute
_WinAPI_DwmEnableBlurBehindWindow
_WinAPI_DwmEnableComposition
_WinAPI_DwmExtendFrameIntoClientArea
_WinAPI_DwmIsCompositionEnabled
_WinAPI_DwmQueryThumbnailSourceSize
_WinAPI_DwmRegisterThumbnail
_WinAPI_DwmSetWindowAttribute
_WinAPI_DwmUnregisterThumbnail
_WinAPI_DwmUpdateThumbnailProperties
_WinAPI_GetCurrentHwProfile
_WinAPI_GetPerformanceInfo
_WinAPI_GetPosFromRect
_WinAPI_GetProfilesDirectory
_WinAPI_GetTickCount64
_WinAPI_GetVersion
_WinAPI_IsLoadKBLayout
_WinAPI_IsWow64Process
_WinAPI_LoadIconWithScaleDown
_WinAPI_LoadKeyboardLayout
_WinAPI_MessageBoxCheck
_WinAPI_PatBlt
_WinAPI_ShellAddToRecentDocs
_WinAPI_ShellGetKnownFolderPath
_WinAPI_ShellGetStockIconInfo
_WinAPI_ShellObjectProperties
_WinAPI_ShellOpenWithDlg
_WinAPI_ShutdownDlg
_WinAPI_UniqueHardwareID
_WinAPI_UnloadKeyboardLayout
- Добавлены примеры к вышеперечисленным функциям.
- Удалены следующие функции.
_WinAPI_ShareFolderDlg
_WinAPI_WinHelp
- Измеена функция _WinAPI_SetKeyboardLayout(). Теперь, если указанной раскладки клавиатуры в системе не загружено, функция возвращает ошибку.
- Переписана (с изменением заголовка, см. документацию) функция _WinAPI_StructToArray().
- Изменены некоторые примеры.
- Несколько внутренних изменений, связанных с типами данных для работы на 64-битных системах.
- Обновлена документация.
v2.5
- Добавлены следующие функции.
_WinAPI_CloseThemeData
_WinAPI_CreateCaret
_WinAPI_DestroyCaret
_WinAPI_DrawThemeBackground
_WinAPI_DrawThemeParentBackground
_WinAPI_DrawThemeText
_WinAPI_GetCaretBlinkTime
_WinAPI_GetCaretPos
_WinAPI_GetCurrentThemeName
_WinAPI_GetThemeDocumentationProperty
_WinAPI_GetThemeFont
_WinAPI_GetThemeInt
_WinAPI_GetThemeMargins
_WinAPI_GetThemePartSize
_WinAPI_GetThemePosition
_WinAPI_GetThemeRect
_WinAPI_GetUpdateRect
_WinAPI_GetUpdateRgn
_WinAPI_HideCaret
_WinAPI_IsThemeBackgroundPartiallyTransparent
_WinAPI_IsThemePartDefined
_WinAPI_OpenThemeData
_WinAPI_PlaySound
_WinAPI_SetCaretBlinkTime
_WinAPI_SetCaretPos
_WinAPI_ShellChangeNotifyDeregister
_WinAPI_ShellChangeNotifyRegister
_WinAPI_ShowCaret
- Добавлены примеры к вышеперечисленным функциям.
- Изменен заголовок у следующих функций.
_WinAPI_DrawBitmap
_WinAPI_GetThemeColor
- Добавлены следующие структуры.
$tagBITMAPV4HEADER
$tagBITMAPV5HEADER
- Переписаны некоторые примеры для совместимости с Windows Vista / 7.
- Обновлена документация.
v2.4
- Добавлены следующие функции.
_WinAPI_AdjustWindowRectEx
_WinAPI_AssocGetPerceivedType
_WinAPI_AddMRUString
_WinAPI_BroadcastSystemMessage
_WinAPI_BrowseForFolderDlg
_WinAPI_CoTaskMemAlloc
_WinAPI_CoTaskMemFree
_WinAPI_CoTaskMemRealloc
_WinAPI_CreateMRUList
_WinAPI_EnumMRUList
_WinAPI_FreeMRUList
_WinAPI_GetBinaryType
_WinAPI_GetKeyboardType
_WinAPI_GetSystemInfo
_WinAPI_GetSystemWow64Directory
_WinAPI_GetTextFace
_WinAPI_IsProcessInJob
_WinAPI_SendMessageTimeout
_WinAPI_ShellExtractAssociatedIcon
_WinAPI_ShellGetPathFromIDList
_WinAPI_ShellGetSpecialFolderLocation
_WinAPI_ShellILCreateFromPath
_WinAPI_ShowShareFolderUI
_WinAPI_StrLen
_WinAPI_UpdateLayeredWindowEx
- Добавлены примеры к вышеперечисленным функциям.
- Следующие функции переименованы с изменением их заголовков (см. документацию).
_WinAPI_AddFontResource => _WinAPI_AddFontResourceEx
_WinAPI_RemoveFontResource => _WinAPI_RemoveFontResourceEx
- Изменен заголовок у следующих функций.
_WinAPI_CopyFileEx
_WinAPI_MoveFileEx
_WinAPI_ShellGetFileInfo
_WinAPI_StructToArray
- Следующие функции теперь возвращают в @extended флаге код системной ошибки, аналогично _WinAPI_Reg... функциям. Для всех остальных, можно использовать _WinAPI_GetLastError().
_WinAPI_AssocGetPerceivedType
_WinAPI_AssocQueryString
_WinAPI_CreateStreamOnHGlobal
_WinAPI_GetHGlobalFromStream
_WinAPI_GetThemeColor
_WinAPI_ShellEmptyRecycleBin
_WinAPI_ShellGetSpecialFolderLocation
_WinAPI_ShellILCreateFromPath
_WinAPI_ShellQueryRecycleBin
- Следующие функции заменены на их Unicode версии (заголовок сохранен).
_WinAPI_CreateSemaphore
_WinAPI_OpenSemaphore
_WinAPI_EnumResourceLanguages
_WinAPI_EnumResourceNames
_WinAPI_EnumResourceTypes
_WinAPI_FindResource
_WinAPI_FindResourceEx
- Удалена функция _WinAPI_ExtractAssociatedIcon(), испольуйте вместо нее _WinAPI_ShellExtractAssociatedIcon().
- Много внутренних изменений, связанных с типами данных для работы на 64-битных системах.
- Обновлена документация.
Архив:
Скриншот:
Источник: WinAPIEx UDF (оффициальный форум)
Автор: Yashied