Главная страница
    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.04 c
15-1176028307
Piroxyline
2007-04-08 14:31
2007.05.06
PHP и переменные


2-1176528655
Гость у мастеров
2007-04-14 09:30
2007.05.06
ActiveX. начало


2-1176464297
ppcumax
2007-04-13 15:38
2007.05.06
Как получить страницу после поста


2-1176805357
Fynjy1984
2007-04-17 14:22
2007.05.06
Помогите правильно составить запрос


15-1176015665
IMHO
2007-04-08 11:01
2007.05.06
SureType vs QWERTY





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский