![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с каталогами Windows и Winnt [D7, Win95/98, WinME, NT4, Win2k, WinXP]
zolotov © (2003-01-10 23:48:00)Как вызывать приложение и под Win98/Me и т.д.,и под WinNT/2000?
Если у нас папка Windows, то это делается так:
procedure TCalcul.btCalcClick(Sender: TObject);
var Windir : String;
WindirP : PChar;
Res:byte;
begin
WinDirP := StrAlloc(MAX_PATH);
Res := GetWindowsDirectory(WinDirP, MAX_PATH);
if Res > 0 then WinDir := StrPas(WinDirP);
WinExec(StrToPchar(WinDir+"\calc.exe "),1);
end;
А вот если Winnt, то приложение не вызывается.
Заранее спасибо.
Chlavik (2003-01-11 02:34:00) [1]Да и вообще WinExec это уже вчерашний день....
zolotov (2003-01-11 01:05:00) [2]Понял, спасибо большое
Rouse_ (2003-01-11 01:00:00) [3]Нет, ты не понял, в НТ калькулятор находится в папке System32в этом и была твоя ошибка, ты не оттуда его запускал.
Можно сделать вообще одной строкой:
ShellExecute(Handle, "open","Calc", nil, nil, SW_NORMAL);
Желаю успехов
zolotov (2003-01-11 00:52:00) [4]Я так понял, это срабатывает только тогда, когда у нас каталог Winnt. А нельзя написать универсально, чтобы приложение вызывалось и из той и из другой папки?
Rouse_ (2003-01-11 00:21:00) [5]
WinExec(Pchar(WinDir+"\System32\calc.exe"),SW_SHOW);
Желаю успехов