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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2009, 16:09   #1
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

Добрый день уважаемые коллеги, зациклился на одной задачке, сразу прошу прощения если тема поднималась (я ее не нашел). Дело в том, что мне надо узнать имя запущенного браузера в диспетчере задач (его название), т.е.
если:
1. Internet Explorer
2. Mozilla Firefox
3. Opera
4. Navigator

допустим при OnCreate приложения я создаю динамический список
list:TStrings;
...
list:=TstringList.create;
list.add(и вот тут я должен поймать название запущенного браузера (так как он называется в диспетчере задач в процессах))

большое спасибо всем заранее

Объясню зачем это надо мне: есть функция (уже всеми юзанная) для получения ссылки активного браузера, так вот если в передаваемом параметре этой функции определения url не правильно передать название (учитывается и регистр), то она не ловит URL, поэтому мне надо знать точное название браузера...
Свободу клавиатурным самураям...

Последний раз редактировалось Stilet; 27.04.2009 в 16:32.
Killer_djon вне форума Ответить с цитированием
Старый 27.04.2009, 16:27   #2
Xcopy
Форумчанин
 
Аватар для Xcopy
 
Регистрация: 03.02.2009
Сообщений: 126
По умолчанию

Попробуй перехватить имя окна...
Xcopy вне форума Ответить с цитированием
Старый 27.04.2009, 16:32   #3
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

так вот в том то и дело перехватить имя окна я могу, т.е. могу заголовок окна перехватить, но он отличается от имени своего же в процессах

впринципе теоретически, эти 4 браузера не должны менять своего имени в процессах, НО хотелось бы быть уверенным в коректной работе...
Свободу клавиатурным самураям...

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

Цитата:
имя запущенного браузера в диспетчере задач (его название)
А что если я Opera.exe переименую в Poera.exe?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.04.2009, 17:40   #5
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А что если я Opera.exe переименую в Poera.exe?
я более чем уверен что из 100 юзверей 1-2 могут это сделать остальные, не то что не зделают этого, они даже не додумаются что такое возможно

и как мне интересно ты переименуешь приложение так, чтобы он поменял свое название в процессах???
Свободу клавиатурным самураям...

Последний раз редактировалось Stilet; 28.04.2009 в 09:35.
Killer_djon вне форума Ответить с цитированием
Старый 28.04.2009, 09:30   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Killer_djon, в процессах отображается имя ЕХЕ файла.

сейчас напишу краткий алгоритм на твою тему(исходники пока не могу, времени сейчас нет, вечером если никто не скинет раньше):
1)так как ты имеешь дескриптор окна браузера, то через него получаешь Pid процесса.(посмотри в разделе ВинАПИ, там есть тема созданная мной же)
2)через Pid узнаешь имя ЕХЕ.

все так просто...
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.04.2009, 13:10   #7
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
Killer_djon, в процессах отображается имя ЕХЕ файла.

сейчас напишу краткий алгоритм на твою тему(исходники пока не могу, времени сейчас нет, вечером если никто не скинет раньше):
1)так как ты имеешь дескриптор окна браузера, то через него получаешь Pid процесса.(посмотри в разделе ВинАПИ, там есть тема созданная мной же)
2)через Pid узнаешь имя ЕХЕ.

все так просто...
Спасибо большое все получилось, почитал в одной теме твой коммент с приведенным примером вот тутвсе работает спасибо
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Старый 28.04.2009, 14:13   #8
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

Все отлично работает только есть одно НО:
есть такая функция
Код:
function Get_URL(Servicio: string): String;
var
Cliente_DDE: TDDEClientConv;
temp:PChar; //<<-------------------------This is new
begin
Result := '';
Cliente_DDE:= TDDEClientConv.Create( nil );
with Cliente_DDE do
begin
SetLink(Servicio,'WWW_GetWindowInfo');
temp := RequestData('0xFFFFFFFF');
Result := StrPas(temp);
StrDispose(temp);
CloseLink;
end;
Cliente_DDE.Free;
end;
и вся проблема этой функции в том, что если у меня хоть одна из букв названия браузера не того регистра которого нужно, то ниче не будет, помогите плиз исправить этот баг..
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Старый 28.04.2009, 14:39   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Обьясни задачу. Что ты хочеш сделать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.04.2009, 14:51   #10
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

задача такая:
есть самых известных 4 браузера (Navigator, Opera, Iexplore, Firefox), мне надо перехватывать ссылки с этих браузеров. Есть таймер, по которому я проверяю если хоть один из браузеров открыт и обновилась ссылка то записать себе ее... и все работает норм НО проблема с регистрами в названиях
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать имя кнопки? LeGAl Microsoft Office Excel 1 10.03.2009 00:04
можно ли узнать имя HTML-поля, кликнув на него? furstenberg Работа с сетью в Delphi 0 28.01.2008 16:49
Как узнать версию браузера FlooPy PHP 3 24.11.2007 23:25
Как узнать имя файла??? Shurik Hacker Работа с сетью в Delphi 3 20.11.2007 17:06
как узнать путь запущенного сервиса Alar Общие вопросы Delphi 0 30.10.2006 11:18