Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с каталогами 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);

Желаю успехов


Наверх

Титульная страница Поиск, карта сайта Написать письмо