Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.02.17;
Скачать: [xml.tar.bz2];

Вниз

Параметры командной строки   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.012 c
1-52931
bios
2003-02-08 01:38
2003.02.17
getdir


4-53335
nokk9
2003-01-05 19:08
2003.02.17
Реестр


3-52723
kalliopiy
2003-01-29 15:25
2003.02.17
ColumnResize в DBGrid е


1-53067
Viktor1
2003-02-05 13:11
2003.02.17
Что делать, чтобы убрать сообщение пояляется только при Build -


14-53263
ан
2003-02-01 11:55
2003.02.17
Помогите!!!!! ПЛиз





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский