PDA

Просмотр полной версии : Как узнать где установлен Qip


GanWorld
27.07.2008, 14:17
Можно ли узнать куда на компе был установлен(путь) QIP?
Для реализации на C#.Net.

0verbreaK
27.07.2008, 14:21
GanWorld да можно используя API функции.

Андрюша
27.07.2008, 14:38
search

GanWorld
27.07.2008, 14:45
GanWorld да можно используя API функции.
Можно, но какие?

search
В принципе можно, но долго это будет выполняться?


А я вот ещё хотел спросить: а можно наверно посмотреть список запущенных процессов и найти там QIP и посмотреть адрес её?

Андрюша
27.07.2008, 14:47
В принципе можно, но долго это будет выполняться?
смотря какой обем инфы

izlesa
27.07.2008, 14:50
2GanWorld
уточню, API-функции поиска FindFirstFile и тд
гоу то MSDN (http://msdn.microsoft.com)

По поводу списка процессов, тоже можно ... смотри на мсдн ToolHelp-функции.

12usver12
27.07.2008, 20:17
используй regshot до установки квипа и после установки , чтоб определить куда он свои ключи прописал в реестр, а он по-любому если установлен то в какой-то ветке реестра прописывает path до себя , когда определишь,
то исполдуьзуй потома
...
using Microsoft.Win32;
...
класс Registry
и пошло и поехало ...

At0m2k
27.07.2008, 20:32
В реестре \SOFTWARE\Microsoft\Windows\CurrentVersion\Uninsta ll\QIP2005
параметр UninstallString

izlesa
27.07.2008, 20:32
2 12usver12
блин, и нафига всё делать через ж*пу? А если квип уже установлен, способ идёт лесом?

2 At0m2k
ога, и вместо строки 'qip' мы храним несколько немаленьких путей реестра для каждой версии. И для каждой новой версии надо выпускать новую прогу, с новой строкой или патч. А если они имя переменной изменят? тут можно ещё много если придумать.

Если наша прога должна работать со сторонним, не зависящим от нас софтом, то лучше неиспользовать жостко зашитые правила.

De-visible
27.07.2008, 21:31
Если искать квип в процессах - это велосипед, потому что работать будет только при запущенном QIP, можно использовать поиск файла "_m_away.txt"(он есть только в QIP)
и по нему найти папку QIP, искать хэндл окна тоже не катит, только при запущенном QIP работать будет, я искал по файлу _m_away.txt, но сначало проверял наличие часто используемых путей типо

C:\Program Files\QIP
D:\Program Files\QIP
C:\QIP
D:\QIP

и т.д.

GanWorld
27.07.2008, 23:53
Насчет поиска: Ну незнаю, юзер мог куда угодно закинуть, и если на компе куча всего, то программа будет 100 лет искать.

Насчет реестра: она только в Uninstal пишет. Но QIP мог быть не проинсталлирован и тогда записи не бует.

процессы ... только при запущенном QIP
Понимаю. Но для мой задачи в принципе не критично.

Так что решил остановиться на процессах. Хотя можно и все пункты по порядочку прогнать :) пути -> реестр -> процессы -> поиск

*CHEL*
30.07.2008, 07:18
2 At0m2k
ога, и вместо строки 'qip' мы храним несколько немаленьких путей реестра для каждой версии. И для каждой новой версии надо выпускать новую прогу, с новой строкой или патч. А если они имя переменной изменят? тут можно ещё много если придумать.


Незнаю мне кажется он уже 3 года зовётся QIP2005 а версия в пути не фигурирует. Ток есль при Infium будет зваться по другому...

*CHEL*
30.07.2008, 07:24
А если например у юзера Qip в разных папочках неустановленный лежит разных версий. Чё гадать каким он пользуется?
Я лично представляю сколько прога будет искать у меня на компе квип, особенно если он будет положен на рабочем столе в подпапке....... Наверно легче шоб прога запрашивала у юзера путь к квипу.

desTiny
30.07.2008, 21:05
если не инсталлирован - то ХРЕН! (ну, в смысле, только поиск...)

а если инсталлирован, то
1 вар-т: идём в HKLM (или HKCU)/.../Uninstall/QIP2005 (как сказал At0m2k)
2 вар-т: если говорите, что имена разделов могут быть разными в разных версиях, то перебираем все подразделы HKLM (или HKCU)/.../Uninstall/ пока не встретим в одном из них слово QIP (с какими-нть ограничениями, чтобы не спалить, например, чтон-ть типа FantastiqIP)

Greetz.

0verbreaK
01.08.2008, 13:24
Помоему самый действующий вариант - это перебор дисков и поиск папки Qip с возможными корректировками. Написал я троян, который осуществляет поиск папки
Qip по всем дискам, такой способ находит их компактную версию Qip, если поставиили
на флешку, обращение к реестру не может быть таким эффективным, тем более поиск
флеш версии Qip'а.

Indig0
01.08.2008, 18:25
если не инсталлирован - то ХРЕН! (ну, в смысле, только поиск...)
неа ;)

в реестре
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell NoRoam\MUICache
ищем значение Quiet Internet Pager

работает даже если квип был просто распакован/скопирован