Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.025 c
1-52814
Zergling
2003-02-07 09:59
2003.02.17
Регистрация ActiveX


1-53054
pavlich
2003-02-05 12:53
2003.02.17
Export 2 PDF


1-52910
___Nikolay
2003-02-08 16:18
2003.02.17
Что сделать, чтобы работала команда Copy в TWebBrowser-e?


1-52918
AndSoft
2003-02-08 19:20
2003.02.17
Дизайн в runtime


7-53301
old_mole
2002-12-17 12:44
2003.02.17
Как поменять резолюцию принтера?