0
Я хочу проверить файл xml с помощью моего exe. поэтому я хочу установить аргумент и вызвать exe-путь в реестре.Не удается подключиться к корню в regedit
нижеследующий код не может найти путь к реестру, он умирает при выполнении.
Я не могу получить progid из registery userchoice.
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");
}
, пожалуйста, помогите с благодарностью заранее.
'it dies'. Без сообщения об ошибке и каких-либо признаков того, что не так? Попробуйте отладить, чтобы приблизиться к корню проблемы. –
Теперь разрешение на работу - проблема. – Deepankumar