===================================================================== AJPapps - AJP API type library 1.00 Линда Кайе 2009-2024. Посвящается Ариэль ===================================================================== Эта библиотека типов содержит объявления множества Win32 API функций, которые очень пригодились мне, когда надоело писать бесконечные Declare, таскать их и отлавливать ошибки из-за отсутствующих важных библиотек. Кроме того, такой вариант объявления позволяет без хаков использовать юникодные функции, хотя упор сделан на ANSI варианты. Помимо функций здесь объявлено несколько новых типов данных (для наглядности в коде и просто так), полезные интерфейсы и макросы, которые немного упростят вставку объявлений из MSDN. Библиотека в основном предназначена для использования в VB и VBA. История создания ---------------- История создания потеряна в тёмном прошлом ^^ Скажу только что при переходе со старой машины (совсем старой) на буку под Win98 библиотека была переписана заново и не так мракобесно ^^ Впрочем, версия осталась та же по той причине, что название изменилось ^^ История изменений ----------------- • 25.08.2009 Первый публичный релиз. • 27.09.2009 [+] IsCharUpper(), IsCharLower(), IsCharAlpha(), IsCharAlphaNumeric(), StrFormatByteSizeA(), FILE_ATTRIBUTE_ALL. • 5.10.2009 [+] asPaintDesktop(), AJPTristate. • 11.10.2009 [+] GetMenuItemInfo(), SetMenuItemInfo(), MENUITEMINFO. • 25.10.2009 Пожалуй не буду писать что изменилось кроме критических фиксов. • 31.10.2009 [-] PtInRect() была определена неправильно. • 10.12.2009 [+] Переписан ShlWAPI.H - теперь функции имеют два варианта: ANSI и UNICODE. • 17.05.2010 [-] Наконец поправлено название константы BMP_FILE_HEADER. • 19.05.2010 [+] Добавлены юникодные версии функций Find*. • 22.11.2010 [+] Приведено в соответствие CreateFile(). Теперь CreateFile() использует SECURITY_ATTRIBUTES, а CreateFileByNum() - нет. • 21.04.2012 [+] Добавлены W варианты для данных функций: UnregisterClass(), RegisterClass(), RegisterClassEx(), CreateWindow(), GetClassInfo(), GetClassInfoEx(). [+] Для вышеуказанных функций A версии переименованы в *A. [+] Удалено объявление CallWindowProc(), так как есть *A и *W объявление. [+] Переименовано объявление DefWindowProc() в *A. Добавлена W версия. • 6.11.2012 [+] Добавлены W варианты для данных функций: FindWindow(), FindWindowEx(), GetClassName(), GetWindowText(), GetWindowTextLength(), SetWindowText(). [+] Для вышеуказанных функций A версии переименованы в *A. • 6.05.2012 [+] Оказалось, что asGetByteSize() вызывает asGetByteSizeEx(). Уточнила это в описаниях функций. • 16.11.2013 [+] Переименовала GetFileAttributes() в GetFileAttributesA(). [+] Переименовала SetFileAttributes() в SetFileAttributesA(). [+] Добавила GetFileAttributesW() и SetFileAttributesW(). • 20.07.2014 [-] Исправила типы параметров функций asGetRnd() и asGetRandomValue(). Для VB это ничего не меняет, зато отражает изменения в AJPappsSupport.DLL • 15.02.2015 [+] Добавила WinExec() и WinExecW(). В основном ради прикола. • 18.02.2015 [+] Поправила год в копирайте (константа и этот файл). [+] Добавила кучу описаний функций библиотеки AJPappsSupport0100.DLL. [+] Немного реорганизовала объявления функций библиотеки AJPappsSupport0100.DLL. Надеюсь, ничего не послетает. • 26.02.2015 [+] Добавила немного описаний функций библиотеки AJPappsSupport0100.DLL. • 11.08.2015 [+] В Kernel32.DLL.H многим функциям дописала A в названии, некоторым добавила W версии. • 28.03.2016 [-] Убрала A и W версии функции WinExec(). Она не юникодная. • 17.08.2016 [-] Удалила LVM_FIRST из ComCtl32.DLL.H - уже есть в "Windows Messages.H". [-] Удалила LVM_GETCOLUMNWIDTH из ComCtl32.DLL.H - уже есть в "Windows Messages.H". [-] Удалила TV_FIRST из ComCtl32.DLL.H и перенесла в "Windows Messages.H". [+] Добавила больше стилей в ComCtl32.DLL.H. • 19.08.2016 [+] Добавила больше констант BIF_* в Shell32.DLL.H. • 14.12.2016 [-] Поправила год в константе AJPAPI100_TYPELIB_COPYRIGHT. [+] Добавила описания функций GetCurrentProcess(), GetCurrentProcessId(), ExitProcess(), TerminateProcess(), GetExitCodeProcess() и MulDiv(). [+] Добавила функции ExitThread(), TerminateThread() и GetExitCodeThread(). • 24.01.2017 [+] Добавила функции cryptInit() и cryptEnd() из CryptLib в качестве заглушек (для связывния DLL с екзешником). Остальные функции объявленны в фирменном BAS модуле. • 3.03.2018 [+] Добавила константу UTF8_BOM. • 25.04.2018 [+] Добавила константы IO_REPARSE_TAG_*. • 25.08.2019 [+] Обновила AJPAPI100_TYPELIB_URL - PURL умер уже давно. [+] Добавила функции WriteConsoleA() и WriteConsoleW(). • 26.01.2020 [+] Добавлен модуль поддержки AJPappsSupportFBe0100.DLL. • 9.03.2020 [+] Для форсирования использования новой библиотеки, реализованные в ней функции добавлены с псевдонимом "as", а оригинальные функции - с псевдонимом "__as". Последние в VB коде используются с квадратными скобками: "[__asHexEx4]". • 24.05.2020 [+] Добавлена куча функций asScreen*, asVirtualScreen* и прочие, которые с ними связаны. • 29.05.2020 [+] Функции с именем "es*" были переименованы в "as*" чтобы не путаться. И так до полного перехода. [+] Годы в заголовках теперь будут более правильными. • 31.05.2020 [-] Спешно (пока ещё нигде не используется) и для консистентности была переименована функция asHimetricToPixelsX() в asScreenHimetricToPixelsX(). [-] Спешно (пока ещё нигде не используется) и для консистентности была переименована функция asHimetricToPixelsY() в asScreenHimetricToPixelsY(). [-] Спешно (пока ещё нигде не используется) и для консистентности была переименована функция asTwipsToPixelsX() в asScreenTwipsToPixelsX(). [-] Спешно (пока ещё нигде не используется) и для консистентности была переименована функция asTwipsToPixelsY() в asScreenTwipsToPixelsY(). • 14.06.2020 [+] Добавлена функция asAddAutoComplete() и перечисление к ней. [+] У AJPappsSupportFBe0100.DLL теперь свой файл с перечислениями. [+] Добавлена функция SHAutoComplete() и константы к ней. • 15.06.2020 [+] Забанена функция asCreateComplexDirectory(), поскольку вместо неё есть общий модуль, который работает ещё лучше. • 4.07.2020 [-] В объявлении CommandLineToArgvW() первый параметр был LPSTR вместо LPWSTR. • 13.08.2020 [+] Добавлена функция esIsProcessWin64(). [+] Добавлена функция esIsProcessWin64Ex(). • 16.08.2020 [+] Добавлена функция esIsHostWin16() [+] Добавлена функция esIsHostWine() • 12.09.2020 [-] Оказалось, что у меня LPVOID задефайнлен, как long. Поправила связанные с этим нюансы. [+] Добавлены юникодные версии INI функций. • 25.10.2020 [+] Почистила немного описания "..." в константах. [+] Добавила всякие устаревшие функции вроде OpenFile(), SetHandleCount() и подобные _lopen(). • 25.04.2021 [+] Добавила DosDateTimeToVariantTimeByDate() с Date вместо Double для удобства вызова из кода на VB. [+] Добавила VariantTimeToDosDateTimeByDate() с Date вместо Double для удобства вызова из кода на VB. [+] Добавила SystemTimeToVariantTimeByDate() с Date вместо Double для удобства вызова из кода на VB. [+] Добавила VariantTimeToSystemTimeByDate() с Date вместо Double для удобства вызова из кода на VB. • 3.05.2021 [+] Функции SendMessage*() теперь имеют ANSI и UNICODE версии с явным указанием A/W. [+] По какой-то причине не было констант стилей всяких контролов. Добавлено в "User32 Styles.H". • 4.05.2021 [+] Разбила LOGFONT на ANSI и UNICODE версию, а вместе с ней - всё, что её использует. [+] Разбила CreateFont() на ANSI и UNICODE версию. [+] Добавила GetStockObject(). [+] Добавила esRandomize(). [+] Добавила esRnd(). [+] Добавила esGetRnd(). [+] Задепрекейтила asRandomizeEx(). [+] Задепрекейтила asRandomize(). [+] Задепрекейтила asRnd(). [+] Задепрекейтила asRand(). [+] Задепрекейтила asRandMax(). [+] Задепрекейтила asGetRnd(). [+] Задепрекейтила asGetRandomValue(). • 7.05.2021 [+] Добавила CompareStringA() и CompareStringW(). • 25.05.2021 [+] Добавила PathIsRelative*(). [+] Добавила PathRelativePathTo*(). [+] Добавила PathCombine*(). [+] Добавила PathBuildRoot*(). [+] Добавила PathCanonicalize*(). • 14.06.2021 [+] Добавила оконные сообщения SBM_*. [+] Добавила оконные сообщения STM_*. [+] Не удалось добавить UTF16_LE_BOM, но добавила UTF16_LE_BOM_CODE. [+] Не удалось добавить UTF16_BE_BOM, но добавила UTF16_BE_BOM_CODE. • 15.06.2021 [+] Добавлена esGetFileAppPath(). [+] Внесена ясность по поводу esRandomize(). • 17.06.2021 [+] Добавлена константа NBSP. • 29.08.2021 [+] Дбавлена константа vbAllFiles. [+] Дбавлена константа vbAllDirectories. • 28.09.2021 [+] Добавила esLogInfo(). [+] Добавила esLogWarning(). [+] Добавила esLogError(). [+] Задепрекейтила asLogInfoSys(). [+] Задепрекейтила asLogWarningSys(). [+] Задепрекейтила asLogErrorSys(). [+] Добавила esGetVBVersion(). [+] Добавила esIsInIDE(). [+] Добавила esGetThunderMainHandle(). [+] Добавила esGetThunderMainHandles(). [+] Добавила esGetThunderMainTitle(). [+] Старый вариант ThunderRTMainFoundInfo стал __ThunderRTMainFoundInfo. • 27.10.2021 [+] Добавила esGetRedRGB(). [+] Добавила esGetGreenRGB(). [+] Добавила esGetBlueRGB(). [+] Добавила esPaletteRGB(). [+] Добавила esTranslateColor(). [+] Добавила esGetSolidColor(). [+] Задепрекейтила asIsMyComputer(). [+] Задепрекейтила asGetMyComputerName(). [+] Задепрекейтила asGetMyComputerDefaultUserName(). • 28.10.2021 [+] Добавила esGetComputerName(). [+] Добавила esGetUserName(). [+] Добавила esGetDomainName(). [+] Добавила esGetFullUserName(). • 5.11.2021 [+] Добавила esGetTempPath(). [+] Добавила esGetWindowsPath(). [+] Добавила esGetSystemPath(). [+] Добавила esGetCurrentDirectory(). [+] Добавила esSetCurrentDirectory(). [+] Добавила esGetPathFromPIDL(). [+] Добавила esGetSpecialFolder(). [+] Задепрекейтила asGetCurrentDirectoryEx(). [+] Добавила esBin1(). [+] Добавила esBin2(). [+] Добавила esBin4(). • 8.11.2021 [+] Задепрекейтила asIsNothing(). [+] Задепрекейтила asIsNothingOld(). [+] Добавила EncryptFile(). [+] Добавила DecryptFile(). [!] Не знаю, почему эти функции всё ещё не в библиотеке. Вроде же добавляла... [+] Добавила esStringToBool(). [+] Добавила esBoolToString(). [+] Добавила esReadStringFromRegistry(). [+] Добавила esReadLongFromRegistry(). [+] Добавила esReadBoolFromRegistry(). [+] Добавила esWriteStringToRegistry(). [+] Добавила esWriteLongToRegistry(). [+] Добавила esWriteBoolToRegistry(). • 13.11.2021 [+] Задепрекейтила asGetUserFileName(). [+] Скрыла USER_FILE_SEARCH_MODE. [+] Задепрекейтила asIsMissingBSTR(). [+] Задепрекейтила asGetTempFileNameCur(). [+] Задепрекейтила asGetTempFileName(). [+] Задепрекейтила asGetTempFileNameEx(). [+] Задепрекейтила asMakeFullPath(). [+] Задепрекейтила asGetLongFileNameFME(). [+] Разбила "AJPappsSupportFBe0100.DLL - 0000.H" на несколько файлов. [-] Попутно поправила там заголовок. [+] Добавила asStringToBool(). [+] Добавила asBoolToString(). [+] Добавила asGetFileAttributes(). [+] Добавила asIsFileOrDirectoryExist(). [+] Добавила esIsFileExist(). [+] Добавила esIsDirectoryExist(). [+] Добавила esIsDirectory(). [+] Добавила esIsFile(). [+] Добавила esIsJunction(). [+] Добавила esIsSymlink(). [+] Добавила esIsSymlinkToFile(). [+] Добавила esIsSymlinkToDirectory(). [+] Добавила esIsUnixFileExist(). [+] Добавила esIsUnixDirectoryExist(). [+] Добавила esIsUnixFileOrDirectoryExist(). [+] Добавила esAddBackslash(). [+] Добавила esRemoveBackslash(). [+] Добавила esBuildFileName(). [+] Добавила esBuildFileName2(). [+] Добавила esGetLongFileName(). [+] Добавила esGetShortFileName(). [+] Добавила esGetFileSize(). [+] Добавила esGetFileSizeEx(). [+] Добавила esGetNewGUID(). [+] Добавила esExitWindowsEx(). [+] Добавила esSetSystemPowerState(). [+] Добавила esIsKeyPressed(). [+] Добавила esIsKeyToggled(). [+] Добавила esIsUnicodeAvailable(). [+] Добавила esGetErrorMode(). [+] Добавила esIsWorkstationLocked(). [+] Добавила esIsScreenSaverRunning(). [+] Добавила esOpenReadMeFile(). • 14.11.2021 [+] Добавила esGetFileRoot(). [+] Добавила esGetFilePath(). [+] Добавила esGetFileName(). [+] Добавила esGetFileOnlyName(). [+] Добавила esGetFileExtension(). [+] Добавила esGetRelativeFileName(). [+] Добавила esGetAbsoluteFileName(). [+] Добавила esReplaceFileExtension(). [+] Добавила esRegisterAppPath(). [+] Добавила esUnRegisterAppPath(). [+] Добавила asGetTempFileName2(). • 20.11.2021 [+] Добавила esGetFullFileName(). [+] Добавила esGetModuleFileName(). [+] Задепрекейтила asGetEXEModuleFullFileName(). [+] Задепрекейтила asGetModuleFullFileName(). [+] Задепрекейтила asGetEXEModulePrettyFileName(). [+] Задепрекейтила asGetModulePrettyFileName(). [+] Задепрекейтила asGetFullFileNameFME(). • 5.12.2021 [+] Облагорожен модуль AJPUnprintableSymbolsConstants.H. [+] Добавлены константы LFLF и CRCR. [+] Константы функции MessageBox() сотоварищи обновлены. [+] Настроено обновление константы AJPAPI100_TYPELIB_DESCRIPTION. [+] Настроено обновление константы AJPAPI100_TYPELIB_VERSION. [+] Настроено обновление константы AJPAPI100_TYPELIB_COPYRIGHT. [+] Настроено обновление копирайта в заголовке ReadMe.TXT. • 7.12.2021 [-] Константа IDCANCEL была названа DCANCEL. • 9.12.2021 [+] IsCharUpper() разделена на юникодную и ANSI версии. [+] IsCharLower() разделена на юникодную и ANSI версии. [+] IsCharAlpha() разделена на юникодную и ANSI версии. [+] IsCharAlphaNumeric() разделена на юникодную и ANSI версии. • 14.12.2021 [+] Добавила TzSpecificLocalTimeToSystemTime(). [+] Добавила TzSpecificLocalTimeToSystemTimeByAny(). • 18.12.2021 [+] Задепрекейтила asHighlightText(). • 5.02.2022 [+] Добавила esSystemTimeToLocalSystemTime(). [+] Добавила esLocalSystemTimeToSystemTime(). [+] Добавила esLocalTimeToSystemTime(). [+] Добавила esSystemTimeToLocalTime(). • 13.02.2022 [+] Задепрекейтила asCalculateFileAJPCRC(). [+] Задепрекейтила asCalculateAddAJPCRC(). • 15.02.2022 [+] Добавила esSysNow(). • 22.02.2022 [+] Добавила RegQueryInfoKeyByAnyA(). [+] Добавила RegQueryInfoKeyByAnyW(). [+] Добавила RegEnumKeyExA(). [+] Добавила RegEnumKeyExW(). [+] Добавила RegEnumKeyExByAnyA(). [+] Добавила RegEnumKeyExByAnyW(). • 28.03.2022 [+] Добавила esDeleteValueFromRegistry(). [+] Добавила esDeleteKeyFromRegistry(). • 5.04.2022 [+] Добавила esCLng(). • 8.04.2022 [+] Добавила esComboBoxToString(). [+] Добавила esComboBoxFromString(). • 29.04.2022 [+] Добавила модуль NTDLL_DLL_Functions. [+] Добавила RtlComputeCrc32(). • 2.05.2022 [+] Добавила esSwapBytes4(). [+] Добавила esSwapBytes2(). [+] Добавила esShiftRight4(). [+] Добавила esShiftRight2(). [+] Добавила esShiftRight1(). [+] Добавила esShiftLeft4(). [+] Добавила esShiftLeft2(). [+] Добавила esShiftLeft1(). • 15.05.2022 [+] Добавила пояснение относительно функции esSystemTimeToLocalSystemTime(). [+] Добавила пояснение относительно функции esLocalSystemTimeToSystemTime(). [+] Добавила пояснение относительно функции esLocalTimeToSystemTime(). [+] Добавила пояснение относительно функции esSystemTimeToLocalTime(). • 29.05.2022 [+] Добавила RtlGenRandom(). • 7.06.2022 [+] Добавила SetDIBits(). [+] Добавила SetDIBitsByBIH(). [+] Добавила StretchDIBitsByBIH(). [+] Удалила StretchDIBitsByAny(). • 9.06.2022 [+] Добавила esMakeWord(). [+] Добавила esMakeLong(). [+] Добавила esHiWord(). [+] Добавила esLoWord(). [+] Добавила esHiByte(). [+] Добавила esLoByte(). • 10.06.2022 [-] SetDIBits() была объявлена алиасом к GetDIBits(). [-] SetDIBitsByBIH() была объявлена алиасом к GetDIBits(). • 25.06.2022 [+] Добавила тип D3DCOLOR. Это не то же самое, что COLORREF. [+] Добавила esRGB(). Это тоже самое что VB RGB(), но сделано для комплекта. [+] Добавила esD3DRGBA(). [+] Добавила esD3DARGB(). [+] Добавила esD3DXRGB(). [+] Добавила esGetRedD3DRGBA(). [+] Добавила esGetGreenD3DRGBA(). [+] Добавила esGetBlueD3DRGBA(). [+] Добавила esGetAlphaD3DRGBA(). [+] Добавила esRGBtoD3DRGBA(). [+] Добавила esD3DRGBAtoRGB(). • 28.06.2022 [+] Добавила модуль DbgHelp_DLL_Functions. [+] Добавила MiniDumpWriteDumpByAny(). [+] Добавила MiniDumpWriteDumpByNum(). [+] Добавила MINIDUMP_TYPE. • 29.06.2022 [+] Добавила TransparentBlt(). • 1.07.2022 [+] Добавила описание функции MiniDumpWriteDumpByAny(). [+] Добавила описание функции MiniDumpWriteDumpByNum(). [+] Добавила VDMEnumTaskWOWEx(). [+] Добавила VDMEnumProcessWOW(). [+] SYSKIND переезжает из Types.H в Enums.H. [-] Оказалось, что тип WORD у меня объявлен как int, а не short. Хотя в объявлениях используется short, потому что дальше идут дифайлы, не дающие кастомным типам попасть в объявления. [+] Убрала странный тип _LPSTR. [+] Убрала непонятное _GetComputerName(). [+] HFILE теперь определяется как API_HANDLE, потому что API_HANDLE - это просто какой-то манипулятор, а не только то, что может быть закрыто функцией CloseHandle(). [+] Некоторые дефайны вынесены в Defines.H, особенно - указатели на коллбэк функции. [+] Некоторые дефайны почищены. • 4.07.2022 [+] Добавила esFormatRoman(). • 16.07.2022 [+] Переименовала GetFileVersionInfo() в GetFileVersionInfoA(). [+] Переименовала GetFileVersionInfoSize() в GetFileVersionInfoSizeA(). [+] Переименовала VerLanguageName() в VerLanguageNameA(). [+] Переименовала VerQueryValue() в VerQueryValueA(). [+] Добавила GetFileVersionInfoW(). [+] Добавила GetFileVersionInfoSizeW(). [+] Добавила VerLanguageNameW(). [+] Добавила VerQueryValueW(). • 28.07.2022 [+] Константа UTF16_LE_BOM_CODE теперь short, а не long. [+] Константа UTF16_BE_BOM_CODE теперь short, а не long. • 5.11.2022 [+] Добавила esFormatDate(). [+] Добавила esFormatDate2(). [+] Добавила esFormatTime(). [+] Добавила esFormatTime2(). [+] Задепрекейтила asSystemTimeToStringDate(). [+] Задепрекейтила asSystemTimeToStringTime(). [+] Задепрекейтила asSystemTimeToStringDateByAny(). [+] Задепрекейтила asSystemTimeToStringTimeByAny(). [+] Задепрекейтила asSystemTimeToStringDate2(). [+] Задепрекейтила asSystemTimeToStringTime2(). [+] Добавила esGetDiskSpaceTotal(). [+] Добавила esGetDiskSpaceFree(). [+] Добавила esGetDiskSpaceAvailable(). [+] Добавила esGetDiskSpace(). [+] Задепрекейтила asGetDiskSpaceTotal(). [+] Задепрекейтила asGetDiskSpaceFree(). [+] Задепрекейтила asGetDiskSpaceAvailable(). [+] Добавила esGetVolumeName(). [+] Добавила esGetVolumeSerialNumber(). [+] Добавила esFormatVolumeSerialNumber(). [+] Добавила esGetVolumeMaximumComponentLength(). [+] Добавила esGetVolumeFileSystemFlags(). [+] Добавила esGetVolumeFileSystemName(). [+] Задепрекейтила asGetVolumeName(). [+] Задепрекейтила asGetVolumeSerialNumber(). [+] Задепрекейтила asFormatVolumeSerialNumber(). [+] Задепрекейтила asGetVolumeMaximumComponentLength(). [+] Задепрекейтила asGetVolumeFileSystemFlags(). [+] Задепрекейтила asGetVolumeFileSystemName(). • 26.01.2023 [+] Куча новых флагов для IsProcessorFeaturePresent(). [+] PF_AMD3D_INSTRUCTIONS_AVAILABLE переименован в PF_3DNOW_INSTRUCTIONS_AVAILABLE. Так даже на сайте Microsoft. • 29.01.2023 [+] Добавлен модуль LZ32.DLL.H для поддержки функций LZ* и констант LZERROR_*. • 13.02.2023 [+] Добавила VerFindFileA(). [+] Добавила VerFindFileW(). • 24.02.2023 [+] Добавила GetFileType(). [+] Задеприкейтила MINCHAR. [+] Задеприкейтила MAXCHAR. [+] Задеприкейтила MINSHORT. [+] Задеприкейтила MAXSHORT. [+] Задеприкейтила MINLONG. [+] Задеприкейтила MAXLONG. [+] Задеприкейтила MAXBYTE. [+] Задеприкейтила MAXWORD. [+] Задеприкейтила MAXDWORD. [-] Пофиксила местами бэкслэши в путях. [+] Разбила Kernel32.DLL.H на несколько файлов. [+] Разбила User32.DLL.H на несколько файлов. [+] Разбила GDI32.DLL.H на несколько файлов. • 12.03.2023 [+] Добавила GetComputerNameEx(). [+] Добавила COMPUTER_NAME_FORMAT. [+] Добавила EXTENDED_NAME_FORMAT. [+] Добавила модуль Secur32.DLL.H. [+] Добавила GetUserNameEx(). [+] Добавила GetComputerObjectName(). • 13.03.2023 [+] Добавила API_VERSION_IMAGEHLP (оригинальное название структуры - API_VERSION). [+] Добавила ImagehlpApiVersion(). [+] Добавила ImagehlpApiVersionEx(). [+] Добавила MakeSureDirectoryPathExists(). [+] Добавила SearchTreeForFile(). [+] Добавила MapFileAndCheckSumA(). [+] Добавила MapFileAndCheckSumW(). [+] Добавила GetTimestampForLoadedLibrary(). • 27.03.2023 [+] Добавила ImageRemoveCertificate(). [+] Добавила ImageEnumerateCertificates(). [+] Добавила модуль Crypt32.DLL.H. [+] Добавила CryptBinaryToString(). [+] Добавила CryptStringToBinary(). • 30.03.2023 [+] Добавила StrCmpLogicalW(). • 9.07.2023 [-] Заменила long на LPSTR_STRUCT в MSGBOXPARAMS. [-] Заменила long на LPSTR_STRUCT в MSGBOXPARAMSW. [-] Заменила long на LPSTR_STRUCT в STARTUPINFO. [+] Добавила модуль MPR.DLL.H. [+] Добавила WNetGetUniversalName(). [+] Добавила WNetGetUser(). [+] Добавила WNetGetLastError(). [+] Добавила WNetConnectionDialog(). [+] Добавила WNetDisconnectDialog(). • 16.07.2023 [+] Добавила VirtualAlloc(). [+] Добавила VirtualAllocEx(). [+] Добавила VirtualFree(). [+] Добавила VirtualFreeEx(). [+] Уточнила константы PAGE_*. [+] Уточнила константы MEM_*. [+] Уточнила константы SEC_*. [+] Добавила описание UNIVERSAL_NAME_INFO. [+] Добавила описание REMOTE_NAME_INFO. [+] Добавила LV_ITEM. [+] Добавила константы LVFI_*. [+] Добавила константы LVIF_*. [+] Добавила W версии констант LVM_*. [+] Добавила LV_ITEM_64 для заглядывания в x64 процессы. • 24.07.2023 [+] Задеприкейтила asListView_GetItemCount(). [+] Задеприкейтила asListView_GetItemText(). [+] Задеприкейтила asListView_GetItemPosition(). [+] Задеприкейтила asListView_FindItem_ByName(). [+] Задеприкейтила asListView_SetItemPosition(). • 10.08.2023 [+] Добавила LV_FINDINFO. [+] Добавила LV_FINDINFO_64 для заглядывания в x64 процессы. • 7.09.2023 [+] Добавила GetSystemWow64Directory(). [+] Добавила GetSystemWindowsDirectory(). • 14.09.2023 [+] Задепрекейтила asTextBoxSelectAll(). [+] Задепрекейтила asTextBoxSelectStart(). [+] Задепрекейтила asTextBoxSelectEnd(). [+] Задепрекейтила asTextBoxAddText(). [+] Задепрекейтила asTextBoxAddLine(). [+] Добавила esTextBox_SelectAll(). [+] Добавила esTextBox_SelectStart(). [+] Добавила esTextBox_SelectEnd(). [+] Добавила esTextBox_AddText(). [+] Добавила esTextBox_AddLine(). [+] Добавила esTextBox_AddLine2(). [+] Добавила esFixUserControlsContainerWindow(). • 18.09.2023 [+] Задепрекейтила asUnloadForm(). [+] Задепрекейтила asSetForegroundWindowEx(). [+] Задепрекейтила asRestoreWindow(). [+] Добавила esUnloadForm(). [+] Добавила esSetForegroundWindowEx(). [+] Добавила esRestoreWindow(). • 25.09.2023 [+] Задепрекейтила asGetWindowText(). [+] Задепрекейтила asSetWindowText(). [+] Задепрекейтила asGetWindowClassName(). [+] Добавила esGetWindowText(). [+] Добавила esSetWindowText(). [+] Добавила esGetWindowClassName(). [+] Задепрекейтила asCenterForm(). [+] Задепрекейтила asCenterFormEx(). [+] Задепрекейтила asCenterFormExNoHide(). [+] Добавила esCenterForm(). [+] Добавила esCenterFormEx(). • 26.09.2023 [+] Задепрекейтила asCallFunction0(). [+] Задепрекейтила asCallFunction1(). [+] Задепрекейтила asCallFunction2(). [+] Задепрекейтила asCallFunction3(). [+] Задепрекейтила asCallFunction4(). [+] Задепрекейтила asCallFunction0v(). [+] Задепрекейтила asCallFunction1v(). [+] Задепрекейтила asCallFunction2v(). [+] Задепрекейтила asCallFunction3v(). [+] Задепрекейтила asCallFunction4v(). [+] Задепрекейтила asCallFunction_4(). [+] Задепрекейтила asCallFunction_4_4(). [+] Задепрекейтила asCallFunction_4_4_4(). [+] Задепрекейтила asCallFunction_4_4_4_4(). [+] Задепрекейтила asCallFunction_4_4_4_4_4(). [+] Задепрекейтила asCallFunction_0(). [+] Задепрекейтила asCallFunction_4_0(). [+] Задепрекейтила asCallFunction_4_4_0(). [+] Задепрекейтила asCallFunction_4_4_4_0(). [+] Задепрекейтила asCallFunction_4_4_4_4_0(). [+] Добавила esCallFunction_i_r4(). [+] Добавила esCallFunction_i4_r4(). [+] Добавила esCallFunction_i44_r4(). [+] Добавила esCallFunction_i444_r4(). [+] Добавила esCallFunction_i4444_r4(). [+] Добавила esCallFunction_i_r0(). [+] Добавила esCallFunction_i4_r0(). [+] Добавила esCallFunction_i44_r0(). [+] Добавила esCallFunction_i444_r0(). [+] Добавила esCallFunction_i4444_r0(). • 26.09.2023 [+] Добавила esShellVersionMajor(). [+] Добавила esShellVersionMinor(). [+] Добавила esShellVersionRevision(). • 29.09.2023 [+] Задепрекейтила asSetMenuJustify(). [+] Добавила esSetMenuJustify(). • 4.10.2023 [+] Задепрекейтила asGet_WM_INHERIT_HANDLE_CHANGE_NOTIFICATION(). [+] Задепрекейтила asGet_WM_DUPLICATE_HANDLE_CHANGE_NOTIFICATION(). [+] Задепрекейтила asGet_WM_INHERIT_HANDLE_CONSOLE_INPUT(). [+] Задепрекейтила asGet_WM_DUPLICATE_HANDLE_CONSOLE_INPUT(). [+] Задепрекейтила asGet_WM_INHERIT_HANDLE_CONSOLE_SCREEN_BUFFER(). [+] Задепрекейтила asGet_WM_DUPLICATE_HANDLE_CONSOLE_SCREEN_BUFFER(). [+] Задепрекейтила asGet_WM_INHERIT_HANDLE_EVENT(). [+] Задепрекейтила asGet_WM_DUPLICATE_HANDLE_EVENT(). [+] Задепрекейтила asGet_WM_INHERIT_HANDLE_FILE(). [+] Задепрекейтила asGet_WM_DUPLICATE_HANDLE_FILE(). [+] Задепрекейтила asGet_WM_INHERIT_HANDLE_FILE_MAPPING(). [+] Задепрекейтила asGet_WM_DUPLICATE_HANDLE_FILE_MAPPING(). [+] Задепрекейтила asGet_WM_INHERIT_HANDLE_MUTEX(). [+] Задепрекейтила asGet_WM_DUPLICATE_HANDLE_MUTEX(). [+] Задепрекейтила asGet_WM_INHERIT_HANDLE_PIPE(). [+] Задепрекейтила asGet_WM_DUPLICATE_HANDLE_PIPE(). [+] Задепрекейтила asGet_WM_INHERIT_HANDLE_PROCESS(). [+] Задепрекейтила asGet_WM_DUPLICATE_HANDLE_PROCESS(). [+] Задепрекейтила asGet_WM_INHERIT_HANDLE_REGISTRY_KEY(). [+] Задепрекейтила asGet_WM_DUPLICATE_HANDLE_REGISTRY_KEY(). [+] Задепрекейтила asGet_WM_INHERIT_HANDLE_SEMAPHORE(). [+] Задепрекейтила asGet_WM_DUPLICATE_HANDLE_SEMAPHORE(). [+] Задепрекейтила asGet_WM_INHERIT_HANDLE_THREAD(). [+] Задепрекейтила asGet_WM_DUPLICATE_HANDLE_THREAD(). [+] Задепрекейтила asGet_WM_INHERIT_HANDLE_TIMER(). [+] Задепрекейтила asGet_WM_DUPLICATE_HANDLE_TIMER(). [+] Задепрекейтила asGet_WM_TASKBAR_CREATED(). [+] Добавила esGet_WM_TASKBAR_CREATED(). [+] Задепрекейтила asOpenCurrentThread(). [+] Задепрекейтила asOpenCurrentProcess(). [+] Задепрекейтила asGetLastInputTime(). [+] Задепрекейтила asGetIdleTimeInterval(). [+] Добавила esGetLastInputTime(). [+] Добавила esGetIdleTimeInterval(). • 5.10.2023 [+] Задепрекейтила asMsgBox(). [+] Задепрекейтила asMsgBoxEx(). [+] Добавила esMsgBox(). [+] Добавила esMsgBoxEx(). • 6.10.2023 [+] Добавила esMsgBox2(). • 8.11.2023 [+] Добавила ColorRGBToHLS(). [+] Добавила ColorHLSToRGB(). [+] Добавила GetAcceptLanguagesW(). [+] Добавила GetAcceptLanguagesA(). • 16.01.2024 [+] Добавила esGetUserSID(). [+] Добавила esSIDtoStringSID(). [+] Добавила esSIDtoStringSID() в версии ByAny. • 19.01.2024 [+] Добавила esSIDtoStringSID2(). • 8.02.2024 [+] Добавила WriteConsoleByStringA(). [+] Добавила WriteConsoleByStringW(). [+] Добавила ReadConsoleA(). [+] Добавила ReadConsoleW(). [+] Добавила ReadConsoleByStringA(). [+] Добавила ReadConsoleByStringW(). • 15.02.2024 [+] Теперь у нас два TLB файла: общий для всех программ и специальный для вских особых случаев. Во втором мои библиотеки переименованы, чтобы не конфликтовать, например с загруженными в IDE. [+] Всвязи с предыдущим, код из ODL файла перенесён в _Main.H, а в ODL файлах остались только константы, которыми две версии TLB файлов отличаются. • 4.03.2024 [+] Добавила LockWorkStation(). [+] Добавила BlockInput(). Информация о разработке ----------------------- Язык: Object Definition Language Платформа: Windows 98 Second Edition Windows XP Professional SP3 Windows 7 Ultimate SP1 Установка --------- Как таковая установка не требуется. Достаточно скопировать AJPAPI100.TLB в любую папку на диске (хоть в System32). Использование ------------- Для использования достаточно подключить её к проекту. В Visual Basic нужно открыть окно ссылок через меню Project/References, в Visual Basic for Applications - через Tools/References. Далее Вы должны поставить галочку напротив строки "AJPapps - AJP API type library 1.00". Если такая отсутствует, нажимаем Browse и указываем расположение файла AJPAPI100.TLB. Теперь все объявления, функции, типы данных и объекты доступны в проекте. Заметьте, что после компиляции программы распространять библиотеку с ней не нужно. Библиотека нужна только на стадии разработки для описания функций и интерфейсов. Проекты VBA не компилируются, поэтому библиотека должна быть доступна для них всегда. Ещё одна тонкость. Вы можете использовать библиотеку при разработке ActiveX компонентов, но в их интерфейсах должны использовать только стандартные типы. Допустим, у вас есть объект CCoolClass, который содержит функцию toString. Если эта функция возвращает строковое значение, вы должны использовать тип String, а не BStr. Дело в том, что при изменении библиотеки может произойти некий сдвиг (я не знаю его природу), и библиотека типов вашего ActiveX компонента будет ссылаться на другие обявления в этой библиотеке. Откомпилированные программы этого не заметят, а вот проект, использующий ActiveX компонент может оказаться неработоспособен (появятся странные ошибки). Удаление -------- Просто удалите файл AJPAPI100.TLB. Правда, в реестре попрежнему останутся ссылки на эту библиотеку. Компиляция из исходников ------------------------ Проект самодостаточен и не требует ни каких лишних телодвижений. Я рекомендую использовать Microsoft Type Library Generator (MKTYPLIB.EXE), который входит в состав Visual C++. На диске с Visual Basic он тоже должен (может) быть. Компиляция выполняется следующей командой (если кто не сталкивался с этим раньше): > MKTYPLIB.EXE /WIN32 "AJPAPI100.ODL" /TLB "AJPAPI100.TLB" Маленький копирайт ------------------ 1. Программа и исходный код распространяются бесплатно. 2. Вы имеете право распространять их на тех же условиях. 3. Вы не имеете права использовать имя автора после модификации исходного кода. 4. При этом желательно указывать ссылку на автора оригинальной версии исходного кода. 5. Вы не имеете права на платное распространение исходного кода, а также программных модулей, содержащих данный исходный код. 6. Программа и исходный код распространяются как есть. Автор не несёт ответственности за любые трагедии или несчастные случаи, вызванные использованием программы и исходного кода. 7. Для любого пункта данного соглашения может быть сделано исключение с разрешения автора программы. 8. По любым вопросам, связанным с данной программой, обращайтесь по адресу lindaoneesama@gmail.com Контакты -------- Почта: lindaoneesama@gmail.com Сайт: https://www.lindachan.net