我必须使用 vb 脚本或 powershell 从控制面板打开程序的设置关联

我必须使用 vb 脚本或 powershell 从控制面板打开程序的设置关联

我使用下面的脚本只是为了查看 Internet Explorer 的默认设置。

Option Explicit
Dim oShell, sWinDir
Set oShell = WScript.CreateObject("WScript.Shell")
sWinDir = oShell.ExpandEnvironmentStrings("%WINDIR%")
oShell.Run sWinDir & "\system32\control.exe /name Microsoft.DefaultPrograms /page pageDefaultProgram\pageAdvancedSettings?pszAppName=internet%20explorer"
Set oShell = Nothing
WScript.Quit

这对于 Internet Explorer 来说很好,但当我尝试使用 Firefox 或 Outlook 时,它没有显示任何内容。即使窗口打开了,它也没有反映任何内容,就好像名称不存在一样。请提出建议

Option Explicit
Dim oShell, sWinDir
Set oShell = WScript.CreateObject("WScript.Shell")
sWinDir = oShell.ExpandEnvironmentStrings("%WINDIR%")
oShell.Run sWinDir & "\system32\control.exe /name Microsoft.DefaultPrograms /page pageDefaultProgram\pageAdvancedSettings?pszAppName=firefox"
Set oShell = Nothing
WScript.Quit

在 powershell 中我使用下面的脚本,这对 google chrome 和 internet explorer 也很好用,但是当我必须打开其他程序(如工作 firefox excel)时它将不起作用。

截屏

function Set-IEAsDefaultBrowser {
    Add-Type -AssemblyName 'System.Windows.Forms'
    Start-Process $env:windir\system32\control.exe -ArgumentList '/name Microsoft.DefaultPrograms /page pageDefaultProgram\pageAdvancedSettings?pszAppName=Outlook'
    Sleep 2
}
Set-IEAsDefaultBrowser

所附图片显示了我尝试使用 Outlook 或 Word 时的样子。

答案1

我自己已经解决了。

实际上我必须写下注册的应用程序名称,之前我使用像 word 这样的名称,但它必须是 Word.Application.16。

从下面的键中找到已注册的应用程序名称。

HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications

答案2

如果我这样使用它,

Set ob = CreateObject("WScript.Shell")
sWinDir = ob.ExpandEnvironmentStrings("%WINDIR%")
ob.Run sWinDir & "\system32\control.exe /name Microsoft.DefaultPrograms /page pageDefaultProgram\pageAdvancedSettings?pszAppName=firefox"

将文件类型或协议与 Firefox 打开的程序关联。

相关内容