Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];

Вниз

IDE или нет?   Найти похожие ветки 

 
stone ©   (2007-04-12 17:39) [0]

Как определить, что приложение запущено под IDE?


 
Johnmen ©   (2007-04-12 17:42) [1]

Найти окно :)


 
Сергей М. ©   (2007-04-12 17:47) [2]

В этом случае род.процессом является IDE-процесс ?)


 
stone ©   (2007-04-12 17:56) [3]

хмм, ну это понятно
я думал может при этом существует какая-то особая директива компилятора или что-то вроде того


 
Сергей М. ©   (2007-04-12 18:09) [4]


> особая директива компилятора


Компилятор-то тут причем ?)

Компилятор уже сделал свое дело - создал образ того самого твоего приложения.

"Мавр сделал свое дело" (С)

)


 
_Аноним   (2007-04-12 18:12) [5]

Тебя интересует наличие именно IDE, или любой отладчик?


 
stone ©   (2007-04-12 18:18) [6]

Меня интересует, запущено приложение из дельфи путем нажатия ф9 (ф8 и т.п.), или в обычном режиме, например из проводника?

Сразу оговорюсь. Задача не принципиальная, нужно в основном для удобства. Поэтому сложных операций не предлагать. Если нет быстрых способов, то и не надо.


 
_Аноним   (2007-04-12 20:25) [7]

function IsDebuggerPresent : BOOL; stdcall; external "KERNEL32.DLL" name "IsDebuggerPresent";


 
DrPass ©   (2007-04-13 01:22) [8]


> function IsDebuggerPresent

Дык, запущено из IDE и запущено из-под отладчика - две большие разницы.


 
{RASkov}   (2007-04-13 08:19) [9]

function IsRunDelphi: Boolean;
begin
 Result:=(FindWindow("TAppBuilder", nil)>0);
end;
.................
procedure TForm.ButtonClick();
begin
if not IsRunDelphi then ShowMessage("Sorry...функия еще в разработке");
end;


 
IceBeerg ©   (2007-04-13 11:47) [10]

Да чего тут сложнонго
Function GetParentProcessID:DWORD;
//Uses TlHelp32!!!
var
ProcessEntry:TProcessEntry32;
Snapshot,CurrentProcessId:THandle;
Begin
Result:=0;
CurrentProcessId:=GetCurrentProcessId();
Snapshot:=CreateToolhelp32Snapshot(th32cs_snapprocess,0);
ProcessEntry.dwSize:=SizeOf(ProcessEntry);
If Process32First(Snapshot,ProcessEntry) then
 Repeat
  If ProcessEntry.th32ProcessID=CurrentProcessId Then
   Begin
    Result:=ProcessEntry.th32ParentProcessID;
    Exit;
   End;
 Until Not Process32Next(Snapshot,ProcessEntry);
End;

Посмотри структуру ProcessEntry -  ProcessEntry.szExeFile переделай функцию...
Подойдет?


 
_Аноним   (2007-04-13 14:34) [11]


> DrPass ©  


> Дык, запущено из IDE и запущено из-под отладчика - две большие
> разницы.



> Сразу оговорюсь. Задача не принципиальная, нужно в основном
> для удобства. Поэтому сложных операций не предлагать. Если
> нет быстрых способов, то и не надо.



> {RASkov}  


Если Delphi запущена, но программа запущена не из под нее, что будет?


 
{RASkov}   (2007-04-13 15:09) [12]

> Если Delphi запущена, но программа запущена не из под нее, что будет?

Конкретно в моем примере:
procedure TForm.ButtonClick();
begin
if not IsRunDelphi then begin ShowMessage("Sorry...функия еще в разработке"); Exit; end;
.....
end;

Выполнится код обработчика ButtonClick без сообщения "Sorry...функия еще в разработке"
Не хочу рассказывать для чего я это использую, долгая история может получится....а объяснения не к чему здесь.
Автор вопроса пусть сам выбирает, что ему надо, а что нет. Он хотел простой вариант....разве не просто?



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.059 c
1-1173790777
dreamse
2007-03-13 15:59
2007.05.06
Подскажите как получить PID процеса по заголовку окна ?


4-1165379169
Mixal__
2006-12-06 07:26
2007.05.06
потоки


11-1158513222
skillcoder
2006-09-17 21:13
2007.05.06
[Глюк] Прорисовка контролов в левом верхнем углу


1-1173602376
Makhanev Alexander
2007-03-11 11:39
2007.05.06
Диалог выбора пользователя....


15-1176019813
easy
2007-04-08 12:10
2007.05.06
Янис Прасол (aka Gero)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский