Форум: "Media";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
ВнизКодек для AVI Найти похожие ветки
← →
dima1 (2002-10-02 02:19) [0]Господа !
Кто мне подскажет, как мне, именно, программно проверить, и если нет, то установить в систему кодек для проигрования своего файла AVI, сделанного в 3DMax. Надо для коммерческой программы, потому как попробуй темному ЮЗЕРУ, обьяснить как это сделать самому :).
Идеальный вариант с примерами. Но...
Заранее спасибо.
← →
SPeller (2002-10-02 09:20) [1]Попытаться воспроизвести маленькую авишку, если вылезет ошибка, значит нету.
← →
dima1 (2002-10-02 16:24) [2]Так это и так понятно.
Как мне в этом случае его программно установить ??? Вот это для меня проблема. Даже идей нет никаких. :(
← →
SPeller (2002-10-02 17:11) [3]
> dima1 (02.10.02 16:24)
Берёшь и запускаешь инсталляшку (чаще всего это ЕХЕ)
← →
dima1 (2002-10-03 13:25) [4]У меня нет инсталяшки, есть только три файла и все. Это "mpg4ds.ax" "MPG4C32.dll" и "MPG4VKI.inf". Для установки в ручную, достаточно указать файл с расширением inf, правой кнопкой, и из меню выбрать УСТАНОВИТЬ, и вында сама устанавливает. Была бы инсталяшка небыло ба проблем. Так как же мне всетаки поступить. Кто подскажет?
← →
sachem (2002-10-03 20:02) [5]А не проще найти инсталяшку в инете?
← →
SPeller (2002-10-03 23:38) [6]Запусти Disk Monitor и посмотри какая прога этим занимается.
← →
SCHMaster (2002-10-04 02:55) [7]Лови готовый модуль по проверк наличия кодека в системе :))
Ну а по тому, как установить - тебе уже сказали: ищешь в сети инсталляшку, и вперед. Есть кодек - не ставишь, нет кодека - ставишь.
unit CoCheck;
interface
uses
Windows, Registry,Classes, Controls;
function CodecExists(Codec:String):Boolean;
function CodecList(CL:TStrings;Mode:Integer):Boolean;
//Mode = 0 Полный список
//Mode = 1 Список DLL
//Mode = 2 Названия кодеков
implementation
function Decode(text,delim : string; vilken : integer):string;
var
start,slut,i : integer;
temptext : string;
begin
start := 0;
if vilken >0 then
begin
temptext := text;
if vilken = 1 then
begin
start := 1;
slut := pos (delim,text);
end
else
begin
for i:= 1 to vilken -1 do
begin
start:=pos(delim,temptext)+length(delim);
temptext:=copy(temptext,start,length(temptext));
end;
slut := pos (delim,temptext);
end;
if start >0 then
begin
if slut = 0 then slut := length(text);
result := copy (temptext,1,slut-1);
end
else
result := text;
end
else
result := text;
end;
function CodecExists(Codec:String):Boolean;
var
Reg:TREGINIFILE;
Temp:TStringList;
I:Integer;
begin
Result:=False;
Reg:=TREGINIFILE.Create;
Temp:=TStringList.Create;
//HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Temp.Clear;
Reg.OpenKey ("SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc",False);
Reg.ReadSectionValues("",Temp);
Reg.CloseKey;
if Temp.Count > 0 then
for I:=0 to Temp.Count-1 do
if Codec = Decode(Temp.Strings[I],"=",2) then
begin
Result:=True;
Exit;
end;
Temp.Free;
Reg.Free;
end;
function CodecList(CL:TStrings;Mode:Integer):Boolean;
var
Reg:TREGINIFILE;
I:Integer;
begin
Reg:=TREGINIFILE.Create;
//HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey ("SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc",False);
Reg.ReadSectionValues("",CL);
Reg.CloseKey;
if (Mode <> 0) and (CL.Count > 0) then
for I:=0 to CL.Count-1 do
CL.Strings[I]:=Decode(CL.Strings[I],"=",Mode);
if CL.Count > 0 then Result:=True
else Result:=False;
Reg.Free;
end;
end.
← →
Dima1 (2002-10-04 08:25) [8]-> SCHMaster
Спасибо вам. Буду пробовать.
← →
Dima1 (2002-10-04 08:30) [9]-> SCHMaster
Спасибо вам. Буду пробовать.
-> sachem.
Наверное нет, потому, что я так и не узнаю тогда как это все делается. Это так или иначе, потом, когда нибудь понадобится.
-> SPeller
Я и так знаю какая прога им занимается. Моя. Но мне не это надо было.
← →
SPeller (2002-10-04 13:32) [10]А чтобы не искать прогу (виндовую) которая занимается установкой когда щёлкаешь в эксплорере правой мышкой, то наверно просто скорми путь к этому файлу ShellExecute, он разберётся что дальше с ним делать и как устанавливать.
> Я и так знаю какая прога им занимается. Моя
Ну да, и ключи в реестре ты сам будешь делать и файлы куда надо копировать и регистрировать ДЛЛ-ки... Так?
← →
dima1 (2002-10-05 06:53) [11]Спасибо всем !
Я уже вьехал что к чему. Вышеприведенный код работает хорошо.
А для инсталяции, я делаю действительно через ShellExecute с параметром "INSTALL" а не "OPEN" как раньше пытался. Правда при инсталяции ЮЗЕРУ все равно прийдется отвечать на вопросы Винды.
Тему наверное можно считать закрытой.
Удачи.
← →
Mike_Ip (2002-10-28 15:17) [12]У меня нет инсталяшки, есть только три файла и все. Это "mpg4ds.ax" "MPG4C32.dll" и "MPG4VKI.inf
А в чем проблемма?
*.ax - > regserv32 /s mpg4ds.ax (установить)
regserv32 /u mpg4ds.ax (удалить)
*.dll - > копируешь в WINDOWS\SUSTEM (SYSTEM32)
a inf не нужен.
← →
Pumpkin (2002-10-28 21:23) [13]А почему бы тебе INF не запустить?
Посмотри в реестре коммандную строу:
[HKEY_CLASSES_ROOT\inffile\shell\Install\command]
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c