Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> поиск информации для Uninstall 
:(
    Опции темы
MFSham
Дата 6.11.2005, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 28.8.2005
Где: Беларусь, Гродно

Репутация: нет
Всего: 3



Если открыть стандартный windows-ий uninstaller, то напротив проги стоит дополнительная инфа как размер, дата последнего запуска и частота использования. Вот мне и надо где-то найти всю эту инфу.
Что я знаю,что в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache хранится нужная инфа в ключе SlowInfoCache о некоторых программах. А между тем стандартный uninstall находит инфу практически ко всем прогам. Вот мне надо и узнать откуда он выковыривает эту инфу.
В MSDN нашел такую структуру как SLOWAPPINFO, которая собственно и представляет собой SlowInfoCache. В замечаниях этой структуры говорится, что эта структура использует интерфейсы : GetSlowAppInfo и GetCachedSlowAppInfo. Как это все взаимодействует, мне так выяснить и не удалось.
Может кто что-нибудь знает где найти хоть какую дополнительную инфу?
--------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны.
PM MAIL   Вверх
Girder
Дата 8.11.2005, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 25
Всего: 155



Тебе в принципе достаточно два ключика смотреть:
1.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
2.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache\

Ну если с первым там все понятно... то вот со вторым там есть в каждой позиции SlowInfoCache
Формат его такой:
1. по 8 - ХЗ smile
2. c 8 по 15(включительно) байты - енто размер в байтах
3. c 16 по 23(включительно) байты - енто TFileTime (первые 4 байта енто Low, старшие енто High) - типо когда последний раз использывался
4. с 24 по 27(включительно) байты - енто типо сколько раз использывался(но точно не уверен smile )
=0 - редко
<=12 - иногда
>12 - часто



--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
MFSham
Дата 8.11.2005, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 28.8.2005
Где: Беларусь, Гродно

Репутация: нет
Всего: 3



Цитата(Girder @ 8.11.2005, 13:49)
... то вот со вторым там есть в каждой позиции SlowInfoCache

Про SlowInfoCache я уже на форуме спрашивал. Научился оттуда выдирать все данные, которые теперь собственно и использую.
Вод собственно что он из себя представляет :
Код

 TSlowInfoCache = record
      Size              : DWord;
      HasName      : LongBool;
      InstallSize     : int64;
      LastUsed      : TFileTime;
      Frequency     : Integer;
      Name            : array [0..261] of wideChar;
  end;

Girder где ты нашел число 12, которое является разграничителем частоты использования между редко и часто. Я планировал это число сделать 10.
--------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны.
PM MAIL   Вверх
Girder
Дата 9.11.2005, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 25
Всего: 155



Посмотрел у себя в реестре и сравнил с uninstaller-ом smile


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
MFSham
Дата 9.11.2005, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 28.8.2005
Где: Беларусь, Гродно

Репутация: нет
Всего: 3



Ну это уже выше моего понимания!
Короче проделал следующий эксперимент :
Удалил из ARPCache папку с названием проги в которое естественно содержится
SlowInfoCache. Запустил стандартный uninstall. И, о чудо, удаленная инфа
нашлась. Проделал тот же эксперимент, но при этом запуслил RegMon. Проследил,
куда он лазил для поиска инфы. Оказалось, что никуда. А в графе считывания
инфы из SlowInfoCache стояло NOTFOUND. Ну понимаю размер можно как-либо подогнать,
но дату последнего использования и частоту откуда взять??? Я уже весь регистр
перечесал вдоль и поперек, но нифига не нашел. Между тем после того как
запустить стандартный uninstall можно смело лезть в регистр и смотреть на вновь
появишуюся удаленную папку, в которой содержится удаленный SlowInfocache.
Из RegMon'a нашел, что доп. инфа для прог без SlowInfoCache еще берется из
HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\{набор цифр}\InstallProperties\

Может кто знает, что за фокусы делает стандартный uninstall?
--------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0448 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.