![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сообщение при попытке открыть файл [D2005, 2003]
Vale © (2012-12-26 14:40:00)Как сделать так, чтобы при попытке открыть несуществующий файл (RpTask.exe):
procedure TForm1.N51Click(Sender: TObject);
begin
winexec('RpTask.exe',SW_RESTORE);
end;
появлялось сообщение с текстом " .... "?
Спасибо.
Германн (2012-12-27 02:26:00) [1]Удалено модератором
Vale (2012-12-26 23:02:00) [2]Vagner'y
Не катит: появляется стандартное окно "The specified file was not found" и всё ...
Медвежонок Пятачок (2012-12-26 18:12:00) [3]If the name of the executable file in the lpCmdLine parameter does not contain a directory path, Windows searches for the executable file in this sequence:
1. The directory from which the application loaded.
2. The current directory.
3. The Windows system directory. The GetSystemDirectory function retrieves the path of this directory.
4. The Windows directory. The GetWindowsDirectory function retrieves the path of this directory.
5. The directories listed in the PATH environment variable.
Иными словами, файл мог бы благополучно запуститься, если бы не дурацкая проверка, что файл этот лежит в текущем каталоге процесса.
Шоумессадж, шоумессадж.....
Vagner (2012-12-26 17:11:00) [4]var
F:File;
begin
{$I-}
AssignFile(F,'RpTask.exe');
Reset(F);
if IOResult>0 then ShowMessage('..........');
{$I+}
end;
Медвежонок Пятачок (2012-12-26 14:58:00) [5]не подойдет.
Иногда файл запустится, а сообщение все равно будет.
ЗЫ WinExec - это функция, она возвращает результат
0
ERROR_BAD_FORMAT
ERROR_FILE_NOT_FOUND
ERROR_PATH_NOT_FOUND
bems (2012-12-26 14:57:00) [6]проверять что вернула winexec
значение меньше 32 означает ошибку
несуществующий файл это код ERROR_FILE_NOT_FOUND либо ERROR_PATH_NOT_FOUND
O'ShinW (2012-12-26 14:49:00) [7]if FileExists(