![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос про shellexecute [D5, Win95/98, WinME]
dimich © (2002-06-11 11:27:00)Мастера как можно реализовать запуск той или иной программы, я понимаю что это надо делать через shellexecute, но вопрос вот в чем некоторые программы необходимо запускать именно из каталога, где находится сам екзешник программы.
и если я пишу такую вещь:
shellexecute(handle,"open",apchar,nil,nil,sw_restore);
то некоторые проги жалуются что не находят файлы (да это и понятно)и немогут запустится.
Как с этим бороться подскажите....плиз.
Заранее благодарен.
Sasha9 (2002-06-13 14:58:00) [1]VID ©
не обязательно, нужно просто вместо второго nil указать путь
dimich (2002-06-13 12:00:00) [2]Согласен, а еще есть chDir(куда идти). Спасибо всем за помощь, сам справился:)))
VID (2002-06-11 15:02:00) [3]Попробуй перед вызовом ShellExecute написать
SetCurrentDir(ExtractFilePath(apchar));
dimich (2002-06-11 11:45:00) [4]>>UserL
Так я в переменную apchar и кладу полный путь.
Подробнее у меня код выглядит так:
procedure TForm1.TreeView1DblClick(Sender: TObject);
var
apchar:array[0..254] of char;
begin
table1.locate("kod_s",treeview1.selected.parent.index+1,[loCaseInsensitive]);
table2.locate("game",treeview1.selected.Text ,[loCaseInsensitive]);
strpcopy(apchar,table2.fields[4].asstring);
shellexecute(handle,"open",apchar,nil,nil,sw_restore);
form1.FormStyle:=fsnormal;
end;
UserL (2002-06-11 11:35:00) [5]Попробуй передать полный путь к запускаемой проге.
Должно сработать