2015-02-28 2 views
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"); 
     } 

, пожалуйста, помогите с благодарностью заранее.

+1

'it dies'. Без сообщения об ошибке и каких-либо признаков того, что не так? Попробуйте отладить, чтобы приблизиться к корню проблемы. –

+1

Теперь разрешение на работу - проблема. – Deepankumar

ответ

0

Теперь разрешение на доступ к работе - проблема. - Deepankumar

Смежные вопросы