パワーシェル経由で壁紙を変更できました。(私はそれがpowershell 2だと思います-「ホスト」は「2.0」を返します)それはあなた(または他の誰か)を始めるかもしれません。((Hey, Scripting Guy!) などで見つけた作品 - 私は以前に powershell を使用したことがありません)
プログラムはオブジェクトを作成する必要があります
$sysevent = [microsoft.win32.systemevents]
壁紙を変更する関数を作成します。これは、ロック時とロック解除時に呼び出されます。違いを見分ける方法を調べる必要があります。どの BMP を持っているかを確認して、別のものに変更するだけです
Function Global:OnLock{
$wp=Get-ItemProperty -path 'HKCU:\Control Panel\Desktop\' -name wallpaper
Write-Host "Current WP:" $wp.WallPaper
if ($wp.WallPaper -eq "C:\Documents and Settings\username\Local Settings\Application Data\Microsoft\Wallpaper2.bmp")
{Set-ItemProperty -path 'HKCU:\Control Panel\Desktop\' -name wallpaper -value "C:\Documents and Settings\username\Local Settings\Application Data\Microsoft\Wallpaper1.bmp"}
else
{Set-ItemProperty -path 'HKCU:\Control Panel\Desktop\' -name wallpaper -value "C:\Documents and Settings\username\Local Settings\Application Data\Microsoft\Wallpaper2.bmp"}
rundll32.exe user32.dll, UpdatePerUserSystemParameters
}
イベント登録
Register-ObjectEvent -InputObject $sysevent -EventName "SessionSwitch" -Action {OnLock} -SourceIdentifier "ExecuteOnLock"
これで、ロック/ロック解除がその関数を呼び出します。もちろん (?) powershell を実行したままにしておく必要があります。
powershell -NoExit -WindowStyle Hidden C:\pathToPrScript\script.ps1
それが役立つことを願っています