Windows OLE - Checking The Registry
use Win32::OLE::Const;
my %Library; # list of all registered type libraries
Win32::OLE::Const->EnumTypeLibs(sub {
my ($clsid,$title,$version) = @_;
return
unless $version =~ /^([0-9a-fA-F]+)\.([0-9a-fA-F]+)$/;
my ($maj,$min) = (hex($1), hex($2));
$Library{$title} = "$maj.$min";
});
sub ExistsTypeLib {
my $typelib = shift;
return $Library{$typelib} if(exists $Library{$typelib});
for my $lib (keys %Library) {
return $Library{$lib} if($lib =~ /^$typelib/);
}
return undef;
}
