Запуск программ в Дельфи
http://pslan.com/details.php?id=78220). Указываю путь к нему и запускаю таким методом:
var
c: array[0..800] of Char;
path:String;
begin
path:=openDialog1.FileName;
StrPCopy(c, path);
ShellExecute(Application.Handle, 'open', c, nil, nil, SW_NORMAL);
end;
В результате несколько окон с ошибками и нулевой результат, с WinEXEC аналогично. Блокнот или плеер вызывает легко,а вот ТекДок никак :( Че делать?
Нужно из проги запустить TecDoc (
var
c: array[0..800] of Char;
path:String;
begin
path:=openDialog1.FileName;
StrPCopy(c, path);
ShellExecute(Application.Handle, 'open', c, nil, nil, SW_NORMAL);
end;
В результате несколько окон с ошибками и нулевой результат, с WinEXEC аналогично. Блокнот или плеер вызывает легко,а вот ТекДок никак :( Че делать?
Посмотрите свойство ярлыка. Возможно программа должна запускаться с параметрами.
Указано только имя файла в свойствах, нет параметров :(
Может надо запускать его в специальной рабочей директории (тоже в свойствах ярлыка)?
А как этот путь прикрутить к ШелЭксекут?
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
...
lpDirectory
[in] A pointer to a null-terminated string that specifies the default (working) directory for the action. If this value is NULL, the current working directory is used. If a relative path is provided at lpFile, do not use a relative path for lpDirectory.
Проще говоря чтото типо:
ShellExecute(Application.Handle, 'open', pchar(path), nil, pchar(ExtrcatFileDir(path)), SW_NORMAL);