通过Powershell打开和更改Windows设置

时间:2018-12-26 23:56:24

标签: windows powershell

请让我知道在SuperUsers中是否可以更好地询问。

我知道您可以通过以下方式在Powershell中打开设置:

Start-Process ms-settings:

但是我想在设置的特定位置打开(在本例中为“设备->笔和Windows墨水”)

Start-Process "ms-settings:Devices\Pen & Windows Ink"

好的,显然可以使用:P我只是将其输入为伪代码,但显然可以使用。因此,不必担心问题的第一部分。

[ EDIT ”(昨天),上面的代码有效,但现在无效。从昨天开始,我已经在$profile文档中进行了更改,但是我看不到我怎么做才能使它不再起作用]

我该如何切换“在使用笔时忽略触摸输入”设置,例如最好不要使用此伪代码(否则会很吓人)

Toggle-Setting "ms-settings:Device\Pen & Windows Ink\Ignore touch when I'm using my pen"

(好的,这次不起作用)

如果您需要在注册表中执行某些操作,请说明如何避免弄乱重要内容。

1 个答案:

答案 0 :(得分:0)

好吧,注册表是您的最佳选择。 除此之外,您也许可以通过在打开窗口时向窗口发送消息来解决问题,但这将是漫长的(且易碎的)方法。

要执行所需的操作,请使用以下命令:

$registryPath = "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Windows\Pen"
$GetValue = {Get-ItemPropertyValue -Path $registryPath -Name 'PenArbitrationType'}

Write-Host "Initial value is $($GetValue.Invoke())" -ForegroundColor Cyan
# on
Set-ItemProperty -Path $registryPath -Name 'PenArbitrationType' -Value 1
Write-Host "Item property is now set to: $($GetValue.Invoke()) "
# off 
Set-ItemProperty -Path $registryPath -Name 'PenArbitrationType' -Value 3
Write-Host "Item property is now set to: $($GetValue.Invoke()) "

如果打开 regedit ,转到上面的路径,然后使用UI手动更改值,则可以看到此操作。如果刷新注册表编辑器,则会看到该值在1(打开)和3(关闭)之间交替显示。

基本上,当您切换该设置时,这就是UI的全部工作。

参考: Turn On or Off Ignore Touch Input when using Pen in Windows 10

相关问题