Public feed
#726233
procedure WMPOpenExt(Name: string; Ext: string; Desc: string);
var
WMPExt: string;
begin
WMPOpenPresent(Ext);
if WMPCount < (WMPOpenMaxChar - 3) then //minus 3 because you at least need room for a '*.' and mystical char WMP adds
begin
if (WMPCount + Length(Ext)) >= WMPOpenMaxChar then Exit;
if RegQueryStringValue(HKLM, PlayerExts + 'Types', Uppercase(Name), WMPExt) and (WMPExt <> '') then
begin
Ext := WMPExt + ';' + Ext;
WMPCount := WMPCount - Length(WMPExt) - 1;
end;
WMPCount := WMPCount + Length(Ext) + 1;
RegWriteStringValue(HKLM, PlayerExts + 'Types', Uppercase(Name), Ext);
RegWriteStringValue(HKLM, PlayerExts + 'Descriptions', Uppercase(Name), Desc + ' (' + Ext + ')');
RegWriteStringValue(HKLM, PlayerExts + 'MUIDescriptions', Uppercase(Name), Desc);
end;
end;