Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2014, 19:41   #21
ByMorgun
Пользователь
 
Регистрация: 13.06.2014
Сообщений: 24
По умолчанию

итак, вот я еще покопался, и решил начать пробовать с браузера гугл chrome.
Узнал что куки и пароли хранятся в 3 файлах(1 файл - куки, другие два - отвечают за автоввод паролей и т.п.)
Написал вот такой код
Код:
KillProcess('chrome.exe');   
DeleteFile('C:\Users\%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Cookies');
DeleteFile('C:\Users\%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Login Data');
DeleteFile('C:\Users\%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data');
запускаю. Хром выключается, но те три файла не удаляются. Ничего не пишет, никаких ошибок и т.п.
Если эти три файла вручную удалить, то эффект как мне и нужен, после запуска браузера все акки слетают.
Но вот как же удалить данные три файла? они не удаляются из-за того, что нету прав? или есть способ по другому удалить их?

так, я еще немного больше понял
Во-первых, нужно удалять не только эти три файла, а еще файлы login dataи что-то там дальше, и web dataи что-то там дальше. То есть все файлы, начинающиеся на Login Data и Web Data, с Cookies лучше тоже так сделать, на мой взгляд, у меня там есть Cookies и Cookiesблаблабла. (это для тех, у кого будет такой-же вопрос)

Во-вторых, если я пишу полный путь
Код:
C:\Users\Zhenyok\AppData\Local\Goo...
то файл удаляется, но если пишу
Код:
C:\Users\%USERPROFILE%\AppDa...
то нет, как можно получить имя владельца, через которого сидит человек?

Последний раз редактировалось Stilet; 14.06.2014 в 19:50.
ByMorgun вне форума Ответить с цитированием
Старый 14.06.2014, 19:49   #22
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Ничего не пишет, никаких ошибок
Из хелпа:
Цитата:
DeleteFile deletes the file named by FileName from the disk. If the file cannot be deleted or does not exist, the function returns False.
Намек ясен? %USERPROFILE% эта функция скорее всего не поймет.
Тебе придется использовать GetEnvironmentVariable() для получения значения из переменной окружения, а потом уже подставлять ее в путь.

P.S. C:\Users\ уже входит в USERPROFILE, так что его писать не надо.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.06.2014, 19:56   #23
ByMorgun
Пользователь
 
Регистрация: 13.06.2014
Сообщений: 24
По умолчанию

конечно не успел прочитать ваше сообщение, но выяснил для себя вот чтосейчас напишу, а вы меня поправьте если что не так):

Теперь мне нужно, узнать про каждый браузер, где у него хранятся пароли и куки, и для каждого написать подоюный код(ниже), потом при запуске программы можно выполнить для всех браузеров, для которых я запишу, но сделать все через try, чтобы не было ошибок, если такого браузера нет на компьютере(ну или же сделать проверку на все браузеры, которые есть на компьютере, разницы же нету?? )
Вот такой код у меня получился

Код:
begin
KillProcess('chrome.exe');    
Sleep(2500);
DeleteFile('C:\Users\' + GetUserFromWindows + '\AppData\Local\Google\Chrome\User Data\Default\Cookies');
DeleteFile('C:\Users\' + GetUserFromWindows + '\AppData\Local\Google\Chrome\User Data\Default\Login Data');
DeleteFile('C:\Users\' + GetUserFromWindows + '\AppData\Local\Google\Chrome\User Data\Default\Web Data');
DeleteFile('C:\Users\' + GetUserFromWindows + '\AppData\Local\Google\Chrome\User Data\Default\Cookies-journal');
DeleteFile('C:\Users\' + GetUserFromWindows + '\AppData\Local\Google\Chrome\User Data\Default\Web Data-journal');
DeleteFile('C:\Users\' + GetUserFromWindows + '\AppData\Local\Google\Chrome\User Data\Default\Login Data-journal');      
end;
p.s. функция GetUserFromWindows :
Код:
function GetUserFromWindows: string;
var
  UserName : string;
  UserNameLen : Dword;
begin
  UserNameLen := 255;
  SetLength(userName, UserNameLen);
  if GetUserName(PChar(UserName), UserNameLen) then
    Result := Copy(UserName,1,UserNameLen - 1)
  else
    Result := 'Unknown';
end;
Если делать так, как я описал выше, то все должно получиться?)

П.С. Сейчас этот код у меня работает отлично
ByMorgun вне форума Ответить с цитированием
Старый 14.06.2014, 20:31   #24
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Сейчас этот код у меня работает отлично
Раз тебя устраивает такое решение, значит пусть так и будет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.06.2014, 20:37   #25
ByMorgun
Пользователь
 
Регистрация: 13.06.2014
Сообщений: 24
По умолчанию

хотел спросить, а путь такой будет всегда? независимо от того, в какую папку устанавливал пользователь данный браузер?
ByMorgun вне форума Ответить с цитированием
Старый 14.06.2014, 20:54   #26
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Цитата:
Сообщение от ByMorgun Посмотреть сообщение
хотел спросить, а путь такой будет всегда? независимо от того, в какую папку устанавливал пользователь данный браузер?
Скорее всего такой или примерно такой. Обычно браузеры не позволяют настроить место хранения куков и прочего, но данный путь надо узнавать отдельно для каждого браузера(лучше всего своими руками, глазами и exproler.exe - проводником Windows).
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 14.06.2014, 20:57   #27
ByMorgun
Пользователь
 
Регистрация: 13.06.2014
Сообщений: 24
По умолчанию

спасибо, до этого я так и планировал, находить вручную, и потом проверять все тоже вручную
ByMorgun вне форума Ответить с цитированием
Старый 14.06.2014, 21:25   #28
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

ByMorgun Теперь веришь, что не всё так просто? А это ты ещё до реестра не добрался. Там свои приколы.
XE5 вне форума Ответить с цитированием
Старый 14.06.2014, 21:28   #29
ByMorgun
Пользователь
 
Регистрация: 13.06.2014
Сообщений: 24
По умолчанию

ну в моем решении реестр и не нужен.. А в сложности.. не знаю, просто тут время потратить нужно, ну а так не сложно. и если делать данным способом, то больше дня на это не должно уйти
ByMorgun вне форума Ответить с цитированием
Старый 14.06.2014, 21:34   #30
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

Цитата:
ну в моем решении реестр и не нужен
Ну так и решение не есть самое лучшее. Если я поставлю браузер на диск D, сможет ли твоя программа очистить его куки? Подумай.
XE5 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отключить кеш flash play goluzov Софт 1 21.02.2012 12:11
Google map + кеш Chak777 Общие вопросы Delphi 0 14.02.2012 09:38
Кеш процессора Sobaka_ru Помощь студентам 0 18.10.2011 12:22
кеш память ***СкаЙ*** Компьютерное железо 0 01.03.2011 21:23
кеш google maps bazanin Работа с сетью в Delphi 3 17.03.2010 17:27