...ShellExecute(Handle, 'open',
'c:Windowsnotepad.exe', nil, nil, SW_SHOWNORMAL);- Открыть текстовый файл c:text.txt в блокнотеShellExecute(Handle, 'open',
'c:windowsnotepad.exe', 'c:text.txt', nil,
SW_SHOWNORMAL);- Показать содержимое каталога c:archiveShellExecute(Handle, 'open', 'c:archive', nil, nil,
SW_SHOWNORMAL);- Открыть файл в соответствии с расширениемShellExecute(Handle,
'open', 'c:MyDocumentsLetter.doc', nil, nil, SW_SHOWNORMAL);- Открыть html документ в браузере по умолчанию
ShellExecute(Handle,
'open', 'http://src.fitkursk.ru', nil, nil, SW_SHOWNORMAL);
- Послать сообщение по электронной почте var
em_subject, em_body, em_mail: string;
begin
em_subject := 'This is the subject line ';
em_body := ' Message body text goes here';
em_mail := 'mailto:alex@fitkursk.ru?subject='
+ em_subject + '&body=' + em_body;
ShellExecute(Handle, 'open', PChar(em_mail), nil, nil, SW_SHOWNORMAL);
end;
- Дожидаемся окончания запущенной программы // фрагмент кода запускает калькулятор и
// выдает сообщение, когда он закрываетсяuses
ShellApi;
...var
SEInfo: TShellExecuteInfo;
ExitCode: DWORD;
ExecuteFile, ParamString, StartInString: string;
begin
ExecuteFile := 'c:WindowsCalc.exe';
FillChar(SEInfo, SizeOf(SEInfo), 0);
SEInfo.cbSize := SizeOf(TShellExecuteInfo);
with SEInfo do
beginfMask := SEE_MASK_NOCLOSEPROCESS;
Wnd := Application.Handle;
lpFile := PChar(ExecuteFile);
{ParamString can contain theapplication parameters.}
// lpParameters := PChar(ParamString);
{StartInString specifies thename of the working
directory.If ommited, the current
directory is used.}
// lpDirectory := PChar(StartInString);
nShow := SW_SHOWNORMAL;
end;
if ShellExecuteEx(@SEInfo) then
begin
repeatApplication.ProcessMessages;
GetExitCodeProcess(SEInfo.hProcess, ExitCode);
until (ExitCode <> STILL_ACTIVE) or
Application.Terminated;
ShowMessage('Calculator terminated');
end
else
ShowMessage('Error starting Calc!');
end;