Что нового

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

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 705
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):
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
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 175
Репутация
2 331
Yashied
Тему желательно именовать по русский (насколько это возможно).

А за библиотеку большое спасибо, многим будет полезна.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3 573
Репутация
933
Шикарная вещь, уже тестируем ее во всю :smile:
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 705
Belfigor сказал(а):
Шикарная вещь, уже тестируем ее во всю :smile:
Если найдешь какие-нибудь баги, сообщи пожалуйста.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 705
Обновил библиотеку до версии 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

Модератор
Локальный модератор
Сообщения
3 573
Репутация
933
Yashied сказал(а):
Эта команда возвращает хэндл активного окна или я ошибаюсь?
Будут ли в будущем добавлены описания, что какая команда делает и как использовать + примеры?
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 705
Belfigor сказал(а):
Эта команда возвращает хэндл активного окна или я ошибаюсь?
Эта функция возвращает хэндл первого (в Z последовательности) дочернего окна для указанного родительского окна, например можно получить хэндл нижнего элемента на форме:

Код:
#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


Belfigor сказал(а):
Будут ли в будущем добавлены описания, что какая команда делает и как использовать + примеры?
Внутри библиотеки есть описания (на английском) ко всем функциям. Для большинства функций есть примеры в архиве.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 705
Обновил библиотеку до версии 1.9, добавлены следующие функции (10):

_WinAPI_CharToOem
_WinAPI_CreateFileEx
_WinAPI_EnumProcessThreads
_WinAPI_EnumProcessWindows
_WinAPI_IntersectRect
_WinAPI_IsRectEmpty
_WinAPI_MoveFileEx
_WinAPI_OemToChar
_WinAPI_ShareFolderDlg
_WinAPI_SubtractRect
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 705
Обновил библиотеку для AutoIt 3.3.1.0 (Beta) и выше (файл WinAPIEx_AutoIt_Beta.zip). Выключена функция _WinAPI_PathFindOnPath(), так как она присутствует в новой Beta.
 
V

VitAl2013

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

Yashied

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

:smile:
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 705
Обновил библиотеку до версии 2.0, добавлены следующие функции (28):

_WinAPI_AdjustTokenPrivileges
_WinAPI_ColorHLSToRGB
_WinAPI_ColorRGBToHLS
_WinAPI_IsValidLocale
_WinAPI_LoDWord
_WinAPI_LookupPrivilegeName
_WinAPI_LookupPrivilegeValue
_WinAPI_HiDWord
_WinAPI_OpenProcessToken
_WinAPI_RegCloseKey
_WinAPI_RegCopyTree
_WinAPI_RegCreateKey
_WinAPI_RegDeleteEmptyKey
_WinAPI_RegDeleteKey
_WinAPI_RegDeleteTree
_WinAPI_RegEnumKey
_WinAPI_RegEnumValue
_WinAPI_RegFlushKey
_WinAPI_RegisterHotKey
_WinAPI_RegOpenKey
_WinAPI_RegQueryInfoKey
_WinAPI_RegQueryLastWriteTime
_WinAPI_RegQueryValue
_WinAPI_RegRestoreKey
_WinAPI_RegSaveKey
_WinAPI_RegSetValue
_WinAPI_UnionStruct
_WinAPI_UnregisterHotKey

+ примеры
 

Garrett

Модератор
Локальный модератор
Сообщения
3 999
Репутация
964
Спасибо за ваш труд Yashied !
Скачал, стал пользоваться, но сразу возник вопрос!
Конечно, я понимаю, как исправить дело, но с начала хочу спросить у автора.

WinAPI.au3

Код:
_WinAPI_GetLayeredWindowAttributes()


WinAPIEx.au3

Код:
#Include <WinAPI.au3>
_WinAPI_GetLayeredWindowAttributes()


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

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

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

asdf8

Скриптер
Сообщения
564
Репутация
152
У меня при подключении этой библиотеки выскакивает ошибка:

WinAPIEx.au3(6366,32) : ERROR: $tHiLo: undeclared global variable.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 705
Garrett сказал(а):
Скачал, стал пользоваться, но сразу возник вопрос...
В архиве две версии WinAPIEx.au3: для AutoIt 3.3.0.0 и 3.3.2.0 (3.3.1.0 и выше). Просто используйте соответствующую версию. Разница лишь в отключенных функциях, которые присутствуют в новых версиях AutoIt.

asdf8 сказал(а):
У меня при подключении этой библиотеки выскакивает ошибка...
Спасибо, позже исправлю и выложу обновленную версию (2.1) + добавлю несколько новых функций.
 

Garrett

Модератор
Локальный модератор
Сообщения
3 999
Репутация
964
Yashied сказал(а):
В архиве две версии WinAPIEx.au3: для AutoIt 3.3.0.0 и 3.3.2.0 (3.3.1.0 и выше). Просто используйте соответствующую версию. Разница лишь в отключенных функциях, которые присутствуют в новых версиях AutoIt.
Спасибо! Действительно, моя ошибка, не для своей версии поставил WinAPIEx.au3 :wacko:
Извиняйте :smile: за глупый вопрос выше :-[
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 705
Обновил библиотеку до версии 2.1, добавлены следующие функции (6):

_WinAPI_DuplicateStruct
_WinAPI_EnumSystemLocales
_WinAPI_EqualStruct
_WinAPI_GetDateFormat
_WinAPI_GetTimeFormat
_WinAPI_GetSystemDefaultLCID

+ примеры

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

[box title=Внимание]Версия библиотеки для AutoIt 3.3.0.0 не будет поддерживаться с выходом следующей (после 3.3.2.0) финальной версии AutoIt. Используйте версию для AutoIt 3.3.2.0 (3.3.1.0 и выше).[/box]
 
Автор
Yashied

Yashied

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

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
Yashied,

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

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 705
madmasles сказал(а):
Вы не могли бы привести пример работы функции _WinAPI_GetPixel...
Код:
#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)
 
Верх