Каким образом, программным путем, можно узнать о завершении запущенной программы?
Каким образом, программным путем, можно узнать о завершении запущенной программы?
16-битная версия:
uses Wintypes,WinProcs,Toolhelp,Classes,Forms;
Function WinExecAndWait(Path: string; Visibility: word): word;
var
InstanceID: THandle;
PathLen: integer;
begin
{ Преобразуем строку в тип PChar }
PathLen:= Length(Path);
Move(Path[1],Path[0],PathLen);
Path[PathLen]:= #00;
{ Пытаемся запустить приложение }
InstanceID:= WinExec(@Path,Visibility);
if InstanceID < 32 then { значение меньше 32 указывает на ошибку приложения }
WinExecAndWait:= InstanceID
else begin
Repeat
Application.ProcessMessages;
until Application.Terminated or (GetModuleUsage(InstanceID) = 0);
WinExecAndWait:= 32;
end;
end;
32-битная версия:
function WinExecAndWait32(FileName: String; Visibility: integer):integer;
var
zAppName:array[0..512] of char;
zCurDir:array[0..255] of char;
WorkDir:String;
StartupInfo:TStartupInfo;
ProcessInfo:TProcessInformation;
begin
StrPCopy(zAppName,FileName);
GetDir(0,WorkDir);
StrPCopy(zCurDir,WorkDir);
FillChar(StartupInfo,Sizeof(StartupInfo),#0);
StartupInfo.cb:= Sizeof(StartupInfo);
StartupInfo.dwFlags:= STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow:= Visibility;
if not CreateProcess(nil,
zAppName, { указатель командной строки }
nil, { указатель на процесс атрибутов безопасности }
nil, { указатель на поток атрибутов безопасности }
false, { флаг родительского обработчика }
CREATE_NEW_CONSOLE or { флаг создания }
NORMAL_PRIORITY_CLASS,
nil, { указатель на новую среду процесса }
nil, { указатель на имя текущей директории }
StartupInfo, { указатель на STARTUPINFO }
ProcessInfo) then result := –1 { указатель на process_inf }
else begin
WaitforSingleObject(ProcessInfo.hProcess,INFINITE);
GetExitCodeProcess(ProcessInfo.hProcess,Result);
end;
end;
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Сценарии, выполняемые при завершении работы операционной системы
Сценарии, выполняемые при завершении работы операционной системы Для подключения сценариев выключения нужно выбрать свойство Завершение работы (Shutdown) в разделе Сценарии (запуск/завершение) (Scripts (Startup/Shutdown)), после чего будет выведено диалоговое окно Свойства: Завершение
(4.3) Пропали куда-то системные шрифты под W2k, или вообще, система начала вести себя как то странно, перестали работать некоторые программы, появились глюки, которых раньше точно не было. Как это можно исправить?
(4.3) Пропали куда-то системные шрифты под W2k, или вообще, система начала вести себя как то странно, перестали работать некоторые программы, появились глюки, которых раньше точно не было. Как это можно исправить? В командной строке вводишь sfc.exe /scannow – проверить системные
(7.16) Можно ли заставить работать Norton Speed Disk при запущенной службе терминал-севера? Надоело каждый раз её останавливать, а потом снова запускать.
(7.16) Можно ли заставить работать Norton Speed Disk при запущенной службе терминал-севера? Надоело каждый раз её останавливать, а потом снова запускать. Можно, но для этого потребуется изменение кода программы, а именно файла sdntc.exe (перед изменением на всякий случай сделайте его
4.3. Пропали куда-то системные шрифты под XP, или вообще, система начала вести себя как то странно, перестали работать некоторые программы, появились глюки, которых раньше точно не было. Как это можно исправить?
4.3. Пропали куда-то системные шрифты под XP, или вообще, система начала вести себя как то странно, перестали работать некоторые программы, появились глюки, которых раньше точно не было. Как это можно исправить? В командной строке вводишь sfc.exe /scannow - проверить системные файлы
Можно ли узнать пароли, которые когда-либо вводились в Internet Explorer
Можно ли узнать пароли, которые когда-либо вводились в Internet Explorer Чтобы узнать пароль, введенный в Internet Explorer, достаточно воспользоваться специализированными программами вроде Internet Explorer Password Recovery Master. Ее устанавливают на целевую машину, и при наличии сохраненных паролей
Как можно быстро узнать права всех пользователей
Как можно быстро узнать права всех пользователей Администратор сервера может сильно ограничить или наоборот — расширить права каждой группе пользователей. Однако как узнать, какие права имеет та или иная группа. Зная свои права, вы не будете тратить время на то, чтобы
24. Проблемы с программным обеспечением
24. Проблемы с программным обеспечением Хотелось бы сказать, что Windows XP решает все проблемы и никаких сбоев в работе ПО у вас больше не произойдет, – однако в действительности это не так. Windows XP обеспечивает такой уровень безопасности, с которым вы, возможно, никогда не
6.3.2. Доступ к устройству путем открытия файла
6.3.2. Доступ к устройству путем открытия файла Как работать с аппаратными устройствами? В случае символьного устройства ответ прост: откройте ссылку на устройство как обычный файл и осуществляйте чтение-запись традиционным образом. Например, если к первому параллельному
События, происходящие в приложениях Delphi при завершении работы Windows
События, происходящие в приложениях Delphi при завершении работы Windows Я провел небольшое исследование, и вот что я выяснил:При закрытии приложения (используя системное меню или вызывая метод закрытия формы), возникают следующие события:1. FormCloseQuery – действие по умолчанию,
Пример. Формирование тела путем вычитания объектов
Пример. Формирование тела путем вычитания объектов Постройте фигуру путем вычитания сферы и цилиндра из параллелепипеда (рис. 13.16). Рис. 13.16. Формирование тела путем вычитания объектовЗапустите команду SUBTRACT, вызвав ее из падающего меню Modify ? Solid Editing ? Subtract или щелчком на
2.6.2. Варианты программы, полученые путем переупорядочивания предложений и целей
2.6.2. Варианты программы, полученые путем переупорядочивания предложений и целей Уже в примерах программ гл. 1 существовала скрытая опасность зацикливания. Определение отношения предок в этой главе было таким:предок( X, Z) :- родитель( X, Z).предок( X, Z) :- родитель( X, Y), предок( Y,
Каким образом новые индустриальные технологии изменят рынки труда России и США Михаил Ваннах
Каким образом новые индустриальные технологии изменят рынки труда России и США Михаил Ваннах Опубликовано 20 января 2014 Проходивший на прошлой неделе в Москве экономический форум вызвал пристальный интерес всевозможных СМИ: поисковик выдаёт
Купить «Шумахера»: каким же образом может произойти внедрение роботизированных автомобилей? Михаил Ваннах
Купить «Шумахера»: каким же образом может произойти внедрение роботизированных автомобилей? Михаил Ваннах Опубликовано 02 сентября 2013 В начале прошлой недели автор этих строк стоял у окна кабинета и разглядывал через перекрёсток цифры, которые
Программы, с помощью которых можно восстановить файлы-фотоснимки
Программы, с помощью которых можно восстановить файлы-фотоснимки Существует множество программ для восстановления данных. Рассмотрим наиболее