![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проверка: Откуда запущена прога... [D6, Win2k]
Reals © (2002-01-10 11:21:00)Здраствуйте! Подскажите,
Как можно проверить, запущена программа с локального диска или с сетевого окружения, то есть с сети.
Нужно сделать проверку, если программу запустили из сети, то выдать соответствующее сообщение и закрыть ее.
Зраранее благодарен.
Reals (2002-01-11 13:58:00) [1]Спасибо большое всем!
Наталья (2002-01-10 14:12:00) [2]>Romkin © (10.01.02 13:35)
Почему ты так решил?
Для Win2000 код не нуждается ни в каких дополнениях.
Romkin (2002-01-10 13:35:00) [3]Ага, а если путь \\server\... ?
наверно, только дополнительно проверять на \\, а перед ExtractFileDrive поставить ExpandFileName, для надежности
Наталья (2002-01-10 13:18:00) [4]
var DriveType:TDriveType;
DriveChar:string;
begin
DriveChar:=ExtractFileDrive(ParamStr(0));
DriveType:=TDriveType(GetDriveType(PChar(DriveChar+"\")));
Case driveType of
dtFixed : ShowMessage("Fixed "+DriveChar+"\");
dtNetWork :ShowMessage("NetWork "+DriveChar+"\");
end;
end;
panov (2002-01-10 12:30:00) [5]"Остается затем определить, является ли диск, указанный в пути сетевым или локальным"
Я думаю, что в этом то и заключается проблема.
А полный путь значительно проще определить, воспользовавшись ParamStr(0) или Application.ExeName
Sail (2002-01-10 11:53:00) [6]Полный путь (имя файла) можно определить, используя ф-ю API
GetModuleFilename, передав ей в качестве первого параметра Nil(0, null)..
Остается затем определить, является ли диск, указанный в пути сетевым или локальным
:-)
Romkin (2002-01-10 11:40:00) [7]GetModuleFileName - а дальше проверяешь путь