【问题标题】:Can't able to acces root in regedit无法在regedit中访问root
【发布时间】:2015-02-28 04:11:55
【问题描述】:

我想使用我的 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");
        }

请帮忙,谢谢。

【问题讨论】:

  • it dies。没有错误消息和任何指示出了什么问题?尝试调试以更接近问题的根源。
  • 现在工作访问权限是问题,谢谢。

标签: regex perl registry registrykey


【解决方案1】:

现在工作访问权限是问题,谢谢。 – 迪潘库玛

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-25
    • 2020-05-21
    • 2018-11-12
    • 2020-02-28
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多