Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.008 c
1-28767
olookin
2003-01-31 17:35
2003.02.10
из Delphi в Excel


1-28777
Adolf
2003-02-01 16:36
2003.02.10
TImage


1-28897
Uncle Archi
2003-01-29 22:25
2003.02.10
JPG


14-29024
Muxec
2003-01-23 19:14
2003.02.10
DelphiX: TImageCollection. Помогите


3-28646
cult
2003-01-23 15:19
2003.02.10
Новый чайник в ваших рядах! Принимайте! И сразу вопрос:





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский