我想使用我的exe验证xmlfile。所以我想在注册表中设置参数和调用exe路径。
下面的代码找不到我执行时终止的注册表路径。
我无法从注册表用户选择中获取progid。
use strict;
use warnings;
use Win32;
use File::Basename;
use Win32::TieRegistry(Delimiter=>"/");
my $reg,$tmval;
$reg = $Registry->Open("HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/FileExts/.xml/UserChoice") or die;
($tmval) = $reg->GetValue('Progid');
if(defined($tmval) and $tmval ne "") {
# Parse .xml
$reg=$Registry->Open("HKEY_CLASSES_ROOT/$tmval/shell") or die;
$reg=$reg->CreateKey( "XMLValidate" );
$reg=$reg->CreateKey( "command");
# $reg=$reg->SetValue( "","\"C:\\itools\\ePUB-Conversion\\ePUB_PopupSupport.exe\" \"\%1\" \"P\"","REG_SZ");
$reg=$reg->SetValue( "","\"calling exe\" \"\%1\"","REG_SZ");
}
else {
if(!defined($tmval)){$tmval = "xmlfile";}
$reg=$Registry->Open("HKEY_CLASSES_ROOT") or die;
$reg=$reg->CreateKey( "$tmval" );
$reg=$reg->CreateKey( "shell");
$reg=$reg->CreateKey( "XMLValidate" );
$reg=$reg->CreateKey( "command");
# $reg=$reg->SetValue( "","\"C:\\itools\\ePUB-Conversion\\ePUB_PopupSupport.exe\" \"\%1\" \"P\"","REG_SZ");
$reg=$reg->SetValue( "","\"calling exe" \"\%1\"","REG_SZ");
}请帮个忙谢谢提前。
发布于 2015-08-27 19:09:48
现在工作访问权限是问题所在,谢谢。- Deepankumar
https://stackoverflow.com/questions/28778005
复制相似问题