Текущий архив: 2003.02.17;
Скачать: CL | DM;
ВнизПараметры командной строки Найти похожие ветки
← →
Nemas (2003-02-07 08:30) [0]Как получить параметры командной строки?
Пример: если открыть 1.txt, то он запустит блокнот.exe(ет в реестре), а блокнот.exe получит парметры командной строки и откроет файл 1.txt
← →
alena.svt (2003-02-07 08:42) [1]А по понятней можно , а то блокнот с файлом запустили и чего надо то?(Уже запущено и открыто зачем второй раз открывать)
← →
Song (2003-02-07 08:51) [2]ParamStr()
← →
Nemas (2003-02-07 10:23) [3]> alena.svt (07.02.03 08:42)
> А по понятней можно , а то блокнот с файлом запустили и чего надо то?(Уже запущено и открыто зачем второй раз открывать)
Эт я пример привел, допустим есть файл 1.txt, формат файлов txt в реестре зарегестрирован для приложения Notepad.exe и при открытии (dlclick по файлу в винде) любого файла формата *.txt сначало запускается Notepad.exe, он (Notepad.exe) проверяет командную строку и "видит" там имя файла который нуджно открыть и открывает :) Вот я и спрашивал как посмотреть параметры командной строки<
>Song © (07.02.03 08:51)
Спасибо!<
← →
Anatoly Podgoretsky (2003-02-07 10:29) [4]Так в реестре и смотреть для .txt файлов
← →
alena.svt (2003-02-07 10:57) [5]На функцию, она вернет тебе того кто отвечает за зарегистррированные расширения
{****************GetAssociatedProgram*********************************}
// Узнаем какая программа отвечает за расширения файла
// Пример Caption:=GetAssociatedProgram("TXT");
// Если за расширение никто не отвечает вернет пустую строку
function GetAssociatedProgram(const Ext: String): String;
var
{$IFDEF WIN32}
reg: TRegistry;
s: string;
{$ELSE}
WinIni: TIniFile;
WinIniFileName: array[0..MAX_PATH] of Char;
s: string;
{$ENDIF}
begin
{$IFDEF WIN32}
s := "";
reg := TRegistry.Create;
reg.RootKey := HKEY_CLASSES_ROOT;
if reg.OpenKey("." + ext + "\shell\open\command",
False) <> False then
begin
s := reg.ReadString("");
reg.CloseKey;
end
else
begin
if reg.OpenKey("." + ext,
False) <> False then
begin
s := reg.ReadString("");
reg.CloseKey;
if s <> "" then
begin
if reg.OpenKey(s + "\shell\open\command",
False) <> False then
s := reg.ReadString("");
reg.CloseKey;
end;
end;
end;
if Pos("%", s) > 0 then
Delete(s, Pos("%", s), Length(s));
if ((Length(s) > 0) and
(s[1] = """)) then
Delete(s, 1, 1);
if ((Length(s) > 0) and
(Pos(""", s) > 0)) then
Delete(s, Pos(""", s), Length(s));
while ((Length(s) > 0) and
(s[Length(s)] = #32)) do
Delete(s, Length(s), 1);
{$ELSE}
GetWindowsDirectory(WinIniFileName, SizeOf(WinIniFileName));
StrCat(WinIniFileName, "\win.ini");
WinIni := TIniFile.Create(WinIniFileName);
s := WinIni.ReadString("Extensions",ext,"");
WinIni.Free;
if Pos(" ^", s) > 0 then
Delete(s, Pos(" ^", s), Length(s));
{$ENDIF}
Result := s;
end;
Только что тебе это даст?
← →
Nemas (2003-02-07 11:12) [6]>Anatoly Podgoretsky © (07.02.03 10:29) Так в реестре и смотреть для .txt файлов<
>alena.svt (07.02.03 10:57)
На функцию, она вернет тебе того кто отвечает за зарегистррированные расширения
Только что тебе это даст?<
Мда, за функцию спасибо(в будущем пригодится), я ж вроде все понятно написал, мне нужны были парметры команной строки (теперь уже не нужны, Song ответил на мой вопрос), а реестр с txt я для примеро привел, чтоб было понятно (а получилось как всегда) ;)
Страницы: 1 вся ветка
Текущий архив: 2003.02.17;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.01 c