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

Вниз

Какой Exec лучше?   Найти похожие ветки 

 
Vadim S   (2003-09-30 17:35) [0]

var
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
exitc: cardinal;
begin

1) способ
ShellExecute(Application.Handle,"open",Pchar(FileName),nil,
Pchar(ExtractFileDir(FileName)),SW_SHOWNORMAL);
2) способ
WinExec(Pchar(FileName),sw_SHOW);


3) способ
FillChar(StartupInfo, sizeof(StartupInfo), 0);
with StartupInfo do begin
cb := Sizeof(StartupInfo);
dwFlags := STARTF_USESHOWWINDOW;
wShowWindow := SW_SHOW;
end;
CreateProcess(nil, PChar(RTEXT), nil, nil, false,
CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil,
StartupInfo, ProcessInfo);


Какой способ лучше и чем они отличаются???


 
pasha   (2003-10-01 03:18) [1]

WinExec уходит своими корными ещё во время Delphi 1, и сейчас поддерживаэтся с соображений совместимости Delphi 1

ShellExecute это "нормальная" WIN32 ф-ция с расширеным набором параметров(можно указать открыть, редактировать, распечатать обект Windows). Если не нужно указывать какихто спец. параметров, или получить инфу от запускаемого процеса, то ф-ция ShellExecute наилучший вариант.

От ф-ции CreateProcess можно получить вот что:
записать весь консольный вывод процеса в буффер, запустить процесс и дождаться его завершения и так дальше.

Если понадобиться ети достоинства от CreateProcess то мыль на DeveloperUA@ukr.net договоримся. Удачи


 
Германн   (2003-10-01 05:10) [2]

Собс-но ответ на сей сабж можно легко прочитать в исходниках Дельфи. В которых видно, что все эти варианты в конце концов приводятся к вызову CreateProcess. Только вот первые два способа ограничены в возможностях.


 
clickmaker   (2003-10-01 12:00) [3]

> Германн © (01.10.03 05:10) [2]

Только в исходниках Винды, а не Дельфи :) А откуда они у тебя, кстати ? :)



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

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

Наверх




Память: 0.44 MB
Время: 0.01 c
1-78876
Win error
2003-11-15 05:19
2003.11.24
Документ Word


14-79128
DimChan
2003-11-01 09:52
2003.11.24
СРОЧНО НужнА ПомоЩь


1-78890
OpenGL
2003-11-13 10:19
2003.11.24
Проблема, черт возьми!!!!!!!!!!!!!!!


11-78869
savva
2003-03-11 15:26
2003.11.24
object и interface


3-78794
ruslan_as
2003-11-05 13:48
2003.11.24
Как сменить в уже созданной базе InterBase пароль





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