【问题标题】:Call Windows Runtime Classes from PowerShell - window 8 Lockscreen Switcher从 PowerShell 调用 Windows 运行时类 - 窗口 8 锁屏切换器
【发布时间】:2014-12-19 18:53:45
【问题描述】:

我正在尝试制作一个我认为是一个简单的脚本,用于从给定目录中选择一个随机文件并将其设置为 Windows 8 上的锁屏图像。不幸的是,它看起来不像 Windows 暴露任何东西直接到powershell触摸锁屏。 我从堆栈溢出的这个问题开始,call-windows-runtime-classes-from-powershell 看起来他的最终目标与我相同,但该线程并未涉及如何实际设置图像。

经过多一点搜索,我找到了这个链接 How to change Lockscreen using JS in win8 app,它让我走上了正确的道路不太清楚如何在 Powershell 中实现。

选择随机图像很简单:

$wallpaper = Get-ChildItem $Path2wallpaper
$NewWPimage = $wallpaper[(Get-Random -Maximum ($wallpaper.count))].FullName

我坚持的是如何实际设置图像。看看我能找到的所有内容,如果我知道如何将 $NewWPimage 转换为 .Net 流,我认为下面的代码应该可以工作?

[Windows.System.UserProfile,Windows.System.UserProfile,ContentType=WindowsRuntime]
[Windows.System.UserProfile.LockScreen]::SetImageStreamAsync($img1)

如果有人可以更好地向我解释如何使用这些 .Net 对象,或者至少需要从具有文件路径(即 c:\users\UserName\Wallpapers\newImage.jpg)到设置它的代码文件作为锁屏 那真是太棒了。对不起,我的编程术语很漂亮,如果我使用了错误的术语,请原谅我。

【问题讨论】:

    标签: windows powershell lockscreen


    【解决方案1】:

    从缺乏响应的情况来看,使用 WinRT 类似乎很困难。但是,我确实找到了一种不同的方法来使用 powershell 以编程方式更改 Windows 8 中的锁定屏幕。

    感谢 Will over on powershell.org 我发现在 Windows 8/8.1 中有一个用户级别锁定屏幕和一个系统级别锁定屏幕。可以在注册表项中设置系统级锁定屏幕图像,并且可以使用注册表项禁用用户级锁定屏幕,从而使系统锁定屏幕成为全局锁定屏幕。查看eightforums.com了解更多详情。

    这是我为设置随机锁屏而设计的代码。

    $wallpaper = Get-ChildItem $Path2wallpaper
    $NewWPimage = $wallpaper[(Get-Random -Maximum ($wallpaper.count))].FullName
    $RegPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Personalization"
    if (Test-Path -Path $RegPath)
    {
        Set-ItemProperty -Path $RegPath -Name LockScreenImage -Value $NewWPimage
    }
    else
    {
        New-Item -Path $RegPath -Type Directory
        New-ItemProperty -Path $RegPath -Name NoChangingLockScreen -PropertyType DWORD -Value 1
        New-ItemProperty -Path $RegPath -Name LockScreenImage -PropertyType String -Value     $NewWPimage
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多