差异从注册表启动程序到从启动文件夹启动

时间:2011-06-17 08:29:00

标签: c windows-xp registry startup autostart

我们有一个简单的应用程序,其中有一个按钮,可以使用流程开始打开事件查看器。

 public static void OpenWindowsEventViewer(
            string computerDnsName,
            string userName,
            SecureString password,
            string domain)
        {
            Process.Start("eventvwr.exe", computerDnsName, userName, password, domain);
        }

使用HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run从注册表启动我们的工具时,它正常启动但无法启动“eventvwr.exe”进程,并显示错误:“目录名称无效”。

使用自动启动文件夹(开始 - >程序 - >自动启动)启动我们的工具,它完美无缺。

这两种方式有什么区别,我可以做些什么让它从注册表开始工作?

编辑:删除SecureString使其工作......

2 个答案:

答案 0 :(得分:2)

以下主题可能有所帮助......

Why does impersonating a process return “The directory name is invalid”?

编辑:

工作目录是重要的财产。

答案 1 :(得分:1)

使用eventvwr.exe的完整路径:

Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "eventvwr.exe")