===================================================================== AJPapps - Windows time meter 2.01 Линда Кайе 2010-2025. Посвящается Ариэль ===================================================================== Эта программа просто показывает, сколько уже работает Windows. Версия для Windows 9x и NT. История создания ---------------- Давным-давно я начала биться над алгоритмом разложения GetTickCount() по дням-часам-минутам. Вроде задача пустяковая, а возилась я долго. Сменила работу, пока наконец не сообразила, как это нужно делать. Так появилась версия программы для Win32. Позже она из отдельной утилиты перешла в AJPapps - Trei no meido. Но однажды мне захотелось возродить утилиту, но не просто так, а чтобы она ещё и в Win16 работала. Исходника у меня не было, но по памяти я быстро написала её на VB3 и даже выложила исходник в дневнике. Это порт программы под Win32. То есть в отличие от предыдущей версии она будет запускаться только в Windows 9x и Windows NT. Просто мне так захотелось ^^ Надеюсь, что после портирования она станет чуточку популярнее ^^ История изменений ----------------- • 1.00.0000 Первый релиз. • 1.00.0004 [-] Наконец исправлен глюк, когда при большом аптайме вылезали отрицательные значения. • 1.00.0006 [+] Теперь программа пытается получить время через WMI, поэтому ограничение, когда через 50 дней работы системы счётчик обнулялся, должно быть снято. • 1.00.0007 [-] При очень большом времени работы системы слово "день" могло неправильно склоняться. • 2.00.0013 [+] Появилась консольная версия программы - WindowsTimeMeterC.EXE. [+] Программа принимает в качестве параметра имя удалённого компьютера. • 2.00.0014 [-] Программа неправильно вычисляла время работы компьютера. • 2.00.0020 [-] В некоторых случаях программа неправильно склоняла слово "день". • 2.01.0029 [21.10.2025] [+] Теперь программа выводит ещё и примерное время запуска системы. [+] Немного переделано сообщение со справкой об использовании программы. [+] Добавлена иконка 48x48. • 2.01.0031 [28.10.2025] [+] Больше разных способов получения информации о времени работы системы. Зависимости ----------- Для работы этой программы нужны следующие компоненты: • AJPapps - AJPapps support library 1.00 Файл AJPappsSupport0100.DLL • AJPapps - AJPapps support library FBE 1.00 Файл AJPappsSupportFBe0100.DLL • Microsoft Visual Basic Virtual Machine Файл MSVBVM60.DLL Эти компоненты обязательны. Они уже включены в программу установки ^_^ Информация о разработке ----------------------- Язык: Microsoft Visual Basic 6.0 SP6 Платформа: Windows XP Professional SP3 Установка --------- Так как эта утилита не использует ничего особенного, она упакована в самораспаковывающийся архив, который можно распаковать куда угодно. Архив называется Install.WindowsTimeMeter.EXE и содержит саму утилиту и библиотеки, которые лучше держать в том же каталоге, что и утилиту. Использование ------------- Просто запустите, и программа в окне сообщения (или в консоли - в зависимости от версии) покажет, сколько Windows уже трудится, а так же – примерное время запуска системы ^_~ Если по каким-то причинам время запуска компьютера вычислить не удалось, то вместо него будет показано текущее. Программа также позволяет получить информацию о времени работы удалённого компьютера. Для этого его имя или IP адрес нужно передать в качестве параметра командной строки. Технические данные ------------------ Программа использует несколько методов получения данных, пробуя их в порядке производительности и точности, и каждый из них может выдавать несколько отличающиеся данные. Вот эти способы: • Функция GetTickCount64(). Поддерживается в Windows Vista, а так же Windows Server 2008 и выше. Используется только локально. • Счётчики производительности Windows. Не поддерживаются в Windows 9x. Позволяют получить данные удалённого компьютера, если там запущена служба удалённого реестра. • WMI, класс Win32_PerfFormattedData_PerfOS_System. По сути, те же счётчики производительности. Поддерживается в Windows XP, а так же Windows Server 2003 и выше. Иногда по каким-то причинам перестаёт работать до перезагрузки. • WMI, класс Win32_OperatingSystem. Должен работать, везде, где установлен WMI, но по тестам работает только в Windows 2000 и выше. Часто даёт странные результаты, которые могут на несколько часов отличаться от других способов. • Функция GetTickCount(). Поддерживается везде, является последней надеждой, когда ни один другой способ не сработал. Используется только локально. Обнуляется примерно раз в пятьдесят дней. Два метода используют WMI (Windows Management Instrumentation), который присутствует в Windows 2000 и выше, но может быть дополнительно установлен в более ранние системы. Впрочем, скорее всего, в этих самых более ранних системах эти методы всё равно работать не будут. Так оба WMI метода позволяют получать информацию с удалённых компьютеров, и для этого не требуется каких-то специальных служб, но может потребоваться настройка прав и политик. Удаление -------- Удалите папку, куда вы распаковали утилиту. Больше ни чего удалять не придётся. Маленький копирайт ------------------ 1. Программа распространяется бесплатно. 2. Вы имеете право распространять её на тех же условиях. 3. При распространении вы не имеете права менять авторство программы, присваивать его себе или каким-либо иным способом искажать его. 4. Разрешено коммерческое использование программы (в офисе, на производстве) за исключением её платного распространения или сдачи в аренду. 5. Программа распространяется как есть. Автор не несёт ответственности за любые трагедии или несчастные случаи, вызванные использованием программы. 6. Вы имеете право использовать ActiveX компоненты, поставляемые с программой, в собственных программах. При этом автор не гарантирует совместимость будущих версий компонентов. 7. Для любого пункта данного соглашения может быть сделано исключение с разрешения автора программы. 8. По любым вопросам, связанным с данной программой, обращайтесь по адресу lindaoneesama@gmail.com Контакты -------- Почта: lindaoneesama@gmail.com Сайт: https://www.lindachan.net