Что нового

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

rollex

Новичок
Сообщения
66
Репутация
1
CreatoR
Очень даже подходит. Просто я не знал режиме работы функции. Спасибо.
 

asdf8

Скриптер
Сообщения
564
Репутация
152
Yashied
Можно, в следующей версии, убрать из APIConstants.au3 функцию __Def ?
Она нигде не используется, а из-за нее постоянно клинит обфускатор.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
asdf8 сказал(а):
Можно, в следующей версии, убрать из APIConstants.au3 функцию __Def? Она нигде не используется, а из-за нее постоянно клинит обфускатор.

Она используется для определения некоторых констант в зависимости от версии Windows. Я еще ни разу не сталкивался с такими проблемами. В любом случае, это должна быть проблема обфускатора. Может быть составить отчет о проблеме именно для обфускатора?
 

asdf8

Скриптер
Сообщения
564
Репутация
152
Она используется для определения некоторых констант в зависимости от версии Windows.

Она используется для вычисления константы $WM_MOUSELAST, которая, тоже нигде не используется (или я не нашел). Если не затруднит - скажи, где, в текущей версии, используется эта константа и функция.

Как пример, такой код:
Код:
#Include <WinAPIEx.au3>
_WinAPI_IntToDWord(200)


после обработки обфускатором с параметром "/striponly" становится таким:
Код:
Global Const $WS_MINIMIZEBOX = 0x00020000
Global Const $WS_SYSMENU = 0x00080000
Global Const $WS_CAPTION = 0x00C00000
Global Const $WS_POPUP = 0x80000000
Global Const $GUI_SS_DEFAULT_GUI = BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU)
Global Const $__WINVER = __Ver()
Global Const $BF_BOTTOM = 0x0008
Global Const $BF_DIAGONAL = 0x0010
Global Const $BF_LEFT = 0x0001
Global Const $BF_RIGHT = 0x0004
Global Const $BF_TOP = 0x0002
Global Const $BF_DIAGONAL_ENDBOTTOMLEFT = BitOR($BF_DIAGONAL, $BF_BOTTOM, $BF_LEFT)
Global Const $BF_DIAGONAL_ENDBOTTOMRIGHT = BitOR($BF_DIAGONAL, $BF_BOTTOM, $BF_RIGHT)
Global Const $BF_DIAGONAL_ENDTOPLEFT = BitOR($BF_DIAGONAL, $BF_TOP, $BF_LEFT)
Global Const $BF_DIAGONAL_ENDTOPRIGHT = BitOR($BF_DIAGONAL, $BF_TOP, $BF_RIGHT)
Global Const $BF_RECT = BitOR($BF_LEFT, $BF_TOP, $BF_RIGHT, $BF_BOTTOM)
Global Const $DTT_TEXTCOLOR = 0x00000001
Global Const $DTT_BORDERCOLOR = 0x00000002
Global Const $DTT_SHADOWCOLOR = 0x00000004
Global Const $DTT_SHADOWTYPE = 0x00000008
Global Const $DTT_SHADOWOFFSET = 0x00000010
Global Const $DTT_BORDERSIZE = 0x00000020
Global Const $DTT_FONTPROP = 0x00000040
Global Const $DTT_COLORPROP = 0x00000080
Global Const $DTT_STATEID = 0x00000100
Global Const $DTT_CALCRECT = 0x00000200
Global Const $DTT_APPLYOVERLAY = 0x00000400
Global Const $DTT_GLOWSIZE = 0x00000800
Global Const $DTT_COMPOSITED = 0x00002000
Global Const $DTT_VALIDBITS = BitOR($DTT_TEXTCOLOR, $DTT_BORDERCOLOR, $DTT_SHADOWCOLOR, $DTT_SHADOWTYPE, $DTT_SHADOWOFFSET, $DTT_BORDERSIZE, $DTT_FONTPROP, $DTT_COLORPROP, $DTT_STATEID, $DTT_CALCRECT, $DTT_APPLYOVERLAY, $DTT_GLOWSIZE, $DTT_COMPOSITED)
Global Const $SHERB_NOCONFIRMATION = 0x01
Global Const $SHERB_NOPROGRESSUI = 0x02
Global Const $SHERB_NOSOUND = 0x04
Global Const $SHERB_NO_UI = BitOR($SHERB_NOCONFIRMATION, $SHERB_NOPROGRESSUI, $SHERB_NOSOUND)
Global Const $FOF_NOCONFIRMATION = 0x0010
Global Const $FOF_NOCONFIRMMKDIR = 0x0200
Global Const $FOF_NOERRORUI = 0x0400
Global Const $FOF_SILENT = 0x0004
Global Const $FOF_NO_UI = BitOR($FOF_NOCONFIRMATION, $FOF_NOCONFIRMMKDIR, $FOF_NOERRORUI, $FOF_SILENT)
Global Const $UHID_MB = 0x00
Global Const $UHID_BIOS = 0x01
Global Const $UHID_CPU = 0x02
Global Const $UHID_HDD = 0x04
Global Const $UHID_All = BitOR($UHID_MB, $UHID_BIOS, $UHID_CPU, $UHID_HDD)
Global Const $WM_MOUSELAST = __Def(0x0600, 0x020E, 0x0500, 0x020D)
Func __Def($iVer1, $iVal1, $iVer2, $iVal2, $iVer3 = Default, $iVal3 = Default, $iVer4 = Default, $iVal4 = Default)
#forceref $iVer1, $iVal1, $iVer2, $iVal2, $iVer3, $iVal3, $iVer4, $iVal4
Local $Count = @NumParams / 2
For $i = 1 To $Count
If $__WINVER >= Eval('iVer' & $i) Then
Return Eval('iVal' & $i)
EndIf
Next
Return Eval('iVal' & $Count)
EndFunc
Func __Ver()
Local $tOS, $Ret
$tOS = DllStructCreate('dword[5];wchar[128]')
DllStructSetData($tOS, 1, DllStructGetSize($tOS), 1)
$Ret = DllCall('kernel32.dll', 'int', 'GetVersionExW', 'ptr', DllStructGetPtr($tOS))
If(Not @error) And($Ret[0]) Then
Return BitOR(BitShift(DllStructGetData($tOS, 1, 2), -8), DllStructGetData($tOS, 1, 3))
Else
Return 0
EndIf
EndFunc
Global Const $HGDI_ERROR = Ptr(-1)
Global Const $INVALID_HANDLE_VALUE = Ptr(-1)
Global Const $KF_EXTENDED = 0x0100
Global Const $KF_ALTDOWN = 0x2000
Global Const $KF_UP = 0x8000
Global Const $LLKHF_EXTENDED = BitShift($KF_EXTENDED, 8)
Global Const $LLKHF_ALTDOWN = BitShift($KF_ALTDOWN, 8)
Global Const $LLKHF_UP = BitShift($KF_UP, 8)
Func _WinAPI_IntToDWord($iValue)
Local $tData = DllStructCreate('dword')
DllStructSetData($tData, 1, $iValue)
Return DllStructGetData($tData, 1)
EndFunc
_WinAPI_IntToDWord(200)

и получаем такой отчет:
Код:
- Iteration 1 Strip Functions result: Output  2899 lines and stripped 9449 lines
-### StripOnly/StripFunc Error: Found Eval() statement using unsolvable Func, which will/could lead to removal of Funcs that are used by the Call() statement.
>### current Func: __Def
C:\Temp\OBs16F.tmp(2445,1) Warning for line:If $__WINVER >= Eval('iVer' & $i) Then 

-### StripOnly/StripFunc Error: Found Eval() statement using unsolvable Func, which will/could lead to removal of Funcs that are used by the Call() statement.
>### current Func: __Def
C:\Temp\OBs16F.tmp(2446,1) Warning for line:Return Eval('iVal' & $i) 

-### StripOnly/StripFunc Error: Found Eval() statement using unsolvable Func, which will/could lead to removal of Funcs that are used by the Call() statement.
>### current Func: __Def
C:\Temp\OBs16F.tmp(2449,1) Warning for line:Return Eval('iVal' & $Count) 

-#############################################################################################
-#### Obfuscator Found   3 Error(s)!!!!    This means your script could have problems running properly.  ####
-#############################################################################################
- Iteration 2 Strip Variables result: Output  133 lines and stripped 2714 lines
-### StripOnly/StripFunc Error: Found Eval() statement using unsolvable Func, which will/could lead to removal of Funcs that are used by the Call() statement.
>### current Func: __Def
C:\Temp\OBs171.tmp(86,1) Warning for line:If $__WINVER >= Eval('iVer' & $i) Then 

-### StripOnly/StripFunc Error: Found Eval() statement using unsolvable Func, which will/could lead to removal of Funcs that are used by the Call() statement.
>### current Func: __Def
C:\Temp\OBs171.tmp(87,1) Warning for line:Return Eval('iVal' & $i) 

-### StripOnly/StripFunc Error: Found Eval() statement using unsolvable Func, which will/could lead to removal of Funcs that are used by the Call() statement.
>### current Func: __Def
C:\Temp\OBs171.tmp(90,1) Warning for line:Return Eval('iVal' & $Count) 

-#############################################################################################
-#### Obfuscator Found   3 Error(s)!!!!    This means your script could have problems running properly.  ####
-#############################################################################################
- Iteration 3 Strip Variables result: Output  82 lines and stripped 51 lines
-### StripOnly/StripFunc Error: Found Eval() statement using unsolvable Func, which will/could lead to removal of Funcs that are used by the Call() statement.
>### current Func: __Def
C:\Temp\OBs173.tmp(50,1) Warning for line:If $__WINVER >= Eval('iVer' & $i) Then 

-### StripOnly/StripFunc Error: Found Eval() statement using unsolvable Func, which will/could lead to removal of Funcs that are used by the Call() statement.
>### current Func: __Def
C:\Temp\OBs173.tmp(51,1) Warning for line:Return Eval('iVal' & $i) 

-### StripOnly/StripFunc Error: Found Eval() statement using unsolvable Func, which will/could lead to removal of Funcs that are used by the Call() statement.
>### current Func: __Def
C:\Temp\OBs173.tmp(54,1) Warning for line:Return Eval('iVal' & $Count) 

-#############################################################################################
-#### Obfuscator Found   3 Error(s)!!!!    This means your script could have problems running properly.  ####
-#############################################################################################
- Iteration 4 Strip Variables result: Output  80 lines and stripped 2 lines
+> Source    36943 lines 1892801 Characters.
+> Stripped  12216 Func/Var lines and  24590 comment lines, Total 1884077 Characters.
+> Saved     99% lines 99% Characters.
+> Obfuscator v1.0.29.0 finished

Ясно, что, добавленные лишние константы - косяк обфускатора, но не критичный (много - не мало).
Ошибки, выведенные в отчет, тоже, документированная реакция обфускатора на функции типа "Eval".
Не очень удобно получать в отчете ошибки от внешних подключаемых файлов, когда, я и сам могу понаделать ошибок, в достаточном количестве, в своем коде :smile:
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Константы не обязательно должны использоваться библиотекой, они в основном для пользователей. В следующей версии, я изменю функцию __Def():

Код:
Func __Def($iVer1, $iVal1, $iVer2, $iVal2)

	#forceref $iVer2

	If $__WINVER >= $iVer1 Then
		Return $iVal1
	Else
		Return $iVal2
	EndIf
EndFunc   ;==>__Def
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
VladUs сказал(а):
А когда предпологается следующая версия?

После выхода очередной финальной версии AutoIt. Но глобальных изменений в библиотеке не будет.
 

dimannspb

Новичок
Сообщения
4
Репутация
0
перезалейте пожалуйста архив.. никак не скачать на данный момент
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
dimannspb
ты о чем, по ссылке в первом сообщение нормально скачивается
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Обновил библиотеку до версии 3.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() завершалась с ошибкой.
  • Исправлены неверные значения для некоторых констант.
  • Обновлена документация.

Ваши комментарии, в частности о _WinAPI_DisplayStruct().

:smile:
 

VladUs

Скриптер
Сообщения
621
Репутация
182
Спасибо Yashied
Столько всяких вкусностей... :laugh:
_WinAPI_DisplayStruct() действительно впечатляет. Давно хотел увидеть, что из себя структура представляет визуально.
 
Автор
Yashied

Yashied

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

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

    _WinAPI_CompressBitmapBits
    _WinAPI_ComputeCrc32
    _WinAPI_CreateANDBitmap
    _WinAPI_CreateDIBColorTable
    _WinAPI_CreateEmptyIcon
    _WinAPI_GetBitmapDimensionEx
    _WinAPI_GetDIBColorTable
    _WinAPI_GetExtended
    _WinAPI_GetObjectNameByHandle
    _WinAPI_InvertANDBitmap
    _WinAPI_IsAlphaBitmap
    _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() теперь всегда создает иконки с альфа-каналом и битовой маской.
  • Изменен способ вызова 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 флага.
  • Обновлена документация.
 

VladUs

Скриптер
Сообщения
621
Репутация
182
Yashied
Ваша библиотека становится все больше и больше, что не может не радовать. Нет ли у Вас желания как-то систематизировать ее по назначению функций. Допустим, функции относящееся к работе с файлами выделить в отдельную группу и т.д.
 
Автор
Yashied

Yashied

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

:smile:
 
Автор
Yashied

Yashied

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

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

    _WinAPI_ChangeWindowMessageFilterEx
    _WinAPI_EnumDllProc

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

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Yashied,
Ссылка на файлы в первом посте (WinAPIEx_3.5.zip) ведет в никуда. :(
 
Автор
Yashied

Yashied

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