Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить, запущено ли приложение из IDE [D5, D6, D7]


kmi ©   (2004-10-16 22:27:00) 

Мне нужно узнать, когда приложение запускается для отладки из-под IDE Delphi, а когда - из Проводника, например. Помогите, пожалуйста.


GuAV   (2004-10-17 02:19:00) [1]

[8] GanibalLector ©   (17.10.04 01:25)

я ответил на

> А если программа запущена не из IDE, но при этом идет отладка
> другого приложения?


если же будет запущено из ide но без отладки (такое тоже бывает), то IsDebuggerPresent вернёт false


GanibalLector   (2004-10-17 01:25:00) [2]

2 GuAV
Только что бегло посмотрел на исходники EhLib.Так вот,они используют нечто другое(т.е. не  IsDebuggerPresent и не  findwindow)


GanibalLector   (2004-10-17 00:09:00) [3]

Работает только если не запущена Delphi. Если среда запущена, то в любом состоянии любого проекта в ней я получу сообщение, указанное в коде :(
А мне нужно, чтобы при запуске вне Delphi этого сообщения не было!


LOL 3 раза.Долго смеялся :) Ладно,вот тебе без сообщения :

if findwindow(Pchar('TAppBuilder'),nil)<>0 then
Vasya_Pupkin:=true;


А вообще GuAV рулит!!!


GuAV   (2004-10-16 23:59:00) [4]

function IsDebuggerPresent: BOOL; external kernel32;

описание есть в MSDN


kmi   (2004-10-16 23:56:00) [5]

>> if findwindow(Pchar('TAppBuilder'),nil)<>0 then
messagedlg('Ох,Ё...IDE запущена',mtinformation,[mbok],0);

Работает только если не запущена Delphi. Если среда запущена, то в любом состоянии любого проекта в ней я получу сообщение, указанное в коде :(
А мне нужно, чтобы при запуске вне Delphi этого сообщения не было!


GanibalLector   (2004-10-16 23:46:00) [6]

> А если программа запущена не из IDE, но при этом идет отладка другого приложения?

ИМХО,должны быть опции компилятора какие-то.Но,я не в курсе какие.


GanibalLector   (2004-10-16 23:44:00) [7]

2 kmi
if findwindow(Pchar(' TAppBuilder'),nil)<>0 then
messagedlg('Ох,Ё...IDE запущена',mtinformation,[mbok],0);

2 DrPass
TAppBuilder


kmi   (2004-10-16 23:42:00) [8]

Идея хорошая. А если программа запущена не из IDE, но при этом идет отладка другого приложения?


DrPass   (2004-10-16 23:37:00) [9]

Очень часто коммерческие компоненты просто проверяют наличие окна AppBuilder


Наверх

Титульная страница Поиск, карта сайта Написать письмо