ฉันจะเปลี่ยนรูปล็อคหน้าจอของฉันโดยอัตโนมัติได้อย่างไร


0

ฉันต้องการให้ภาพหน้าจอล็อคเปลี่ยนโดยอัตโนมัติดังนั้นจึงแตกต่างกันทุกครั้งที่ลงชื่อเข้าใช้คอมพิวเตอร์ ฉันไม่ชอบตัวเลือกสไลด์โชว์เนื่องจากมันเพิ่มเอฟเฟกต์แพนและซูมที่ทำให้ฉันรำคาญ

ฉันพยายามทำสิ่งนี้ให้สำเร็จโดยใช้แบตช์ไฟล์เพื่อแทนที่รูปภาพที่ฉันเลือกสำหรับพื้นหลังของฉันด้วยรูปภาพอื่นอย่างไรก็ตามสิ่งนี้ไม่เปลี่ยนพื้นหลังของหน้าจอล็อค คนแปลกหน้าคืออะไรถึงแม้ว่าฉันจะเปลี่ยนรูปภาพด้วยตนเอง แต่เก็บชื่อเดิมไว้เมื่อฉันเลือกในการตั้งค่าเป็นรูปภาพล็อคหน้าจอมันจะยังคงอยู่เหมือนภาพเมื่อฉันเลือกครั้งแรก ฉันไม่รู้ว่าทำไมสิ่งนี้ถึงเกิดขึ้นไม่มีใครรู้วิธีแก้ปัญหานี้เพราะนี่เป็นวิธีเดียวที่จะเปลี่ยนพื้นหลังหน้าจอล็อกของฉันโดยอัตโนมัติ

ฉันใช้ Windows 10


ระบบปฏิบัติการอะไร
studiohack

ระบบปฏิบัติการใดและแอพล็อคหน้าจอใดที่นอกเหนือจากข้อกำหนดระบบปฏิบัติการ ระบบอาจโหลดสิ่งที่หน้าจอล็อคใช้หรืออย่างน้อยการตั้งค่าลงในหน่วยความจำและเรียกใช้จากที่นั่นดังนั้นการเปลี่ยนรายละเอียดจะไม่ส่งผลใด ๆ จนกว่าคุณจะรีสตาร์ทในครั้งต่อไปหรือปิดหน้าจอล็อคแล้วรีสตาร์ท
fixer1234

@ fixer1234 ฉันอยู่บน windows 10 ขออภัยฉันลืมที่จะบอกว่าฉันได้เพิ่มลงในโพสต์ดั้งเดิมของฉัน คุณหมายถึงอะไรโดยการรีสตาร์ทหน้าจอล็อค?
Ethan Gascoigne

@EthanGascoigne ล็อคเซสชันของคุณโดยใช้เมนูเริ่มหรือแป้นพิมพ์ลัด
Ramhound

@ ค้อนฉันทดสอบเพื่อดูว่ามันใช้งานได้หรือไม่มันยังคงเป็นภาพเหมือนเดิม หากฉันลบภาพที่ฉันเลือกจากนั้นใส่ภาพที่แตกต่างไปจากเดิมอย่างสิ้นเชิงด้วยชื่อเดียวกันภาพนั้นจะกลับไปที่ภาพดั้งเดิม และถ้าฉันรีบูทคอมพิวเตอร์ของฉันมันยังคงเป็นภาพต้นฉบับอยู่ทำไมภาพอยู่ที่ภาพต้นฉบับนี้
Ethan Gascoigne

คำตอบ:


0

ตามที่กล่าวไว้ในคำตอบอื่น ๆ นี้เมื่อคุณตั้งค่ารูปล็อคหน้าจอ Windows จะคัดลอกรูปภาพที่เลือกไปยังตำแหน่งพิเศษดังนั้นการแก้ไขไฟล์ต้นฉบับจะไม่เปลี่ยนสำเนาที่แสดง อาจมีการแคชด้วยชื่อไฟล์ต้นฉบับที่ทำให้ไม่อัปเดตเมื่อคุณเลือกไฟล์ภาพ "เดียวกัน" อีกครั้ง การพูดถึงในค่ารีจิสตรีไบนารีที่กล่าวถึงในคำตอบนั้นดูเหมือนจะสนับสนุนแนวคิดที่ว่า Windows บันทึกชื่อไฟล์ดั้งเดิม

เนื่องจากคุณมีสคริปต์แบตช์เพื่อหมุนไฟล์รูปภาพทั้งหมดที่เราต้องทำคือทำให้ Windows รีเฟรชภาพจากไฟล์พื้นหลังปัจจุบัน ในการบังคับให้ Windows ทำเช่นนั้นคุณสามารถใช้ PowerShell! รวบรวมชิ้นส่วนที่ฉันอธิบายไว้ในคำตอบของคำถามที่คล้ายกันและเพิ่มตรรกะบางอย่างเพื่อสร้างสำเนาแบบสุ่มในแต่ละครั้งเราจะได้รับสคริปต์นี้:

# Change this to the path where you keep the desired background image
$imagePath = 'C:\path\to\image.ext'

$newImagePath = [System.IO.Path]::GetDirectoryName($imagePath) + '\' + (New-Guid).Guid + [System.IO.Path]::GetExtension($imagePath)
Copy-Item $imagePath $newImagePath
[Windows.System.UserProfile.LockScreen,Windows.System.UserProfile,ContentType=WindowsRuntime] | Out-Null
Add-Type -AssemblyName System.Runtime.WindowsRuntime
$asTaskGeneric = ([System.WindowsRuntimeSystemExtensions].GetMethods() | ? { $_.Name -eq 'AsTask' -and $_.GetParameters().Count -eq 1 -and $_.GetParameters()[0].ParameterType.Name -eq 'IAsyncOperation`1' })[0]
Function Await($WinRtTask, $ResultType) {
    $asTask = $asTaskGeneric.MakeGenericMethod($ResultType)
    $netTask = $asTask.Invoke($null, @($WinRtTask))
    $netTask.Wait(-1) | Out-Null
    $netTask.Result
}
Function AwaitAction($WinRtAction) {
    $asTask = ([System.WindowsRuntimeSystemExtensions].GetMethods() | ? { $_.Name -eq 'AsTask' -and $_.GetParameters().Count -eq 1 -and !$_.IsGenericMethod })[0]
    $netTask = $asTask.Invoke($null, @($WinRtAction))
    $netTask.Wait(-1) | Out-Null
}
[Windows.Storage.StorageFile,Windows.Storage,ContentType=WindowsRuntime] | Out-Null
$image = Await ([Windows.Storage.StorageFile]::GetFileFromPathAsync($newImagePath)) ([Windows.Storage.StorageFile])
AwaitAction ([Windows.System.UserProfile.LockScreen]::SetImageFileAsync($image))
Remove-Item $newImagePath

เปลี่ยนเส้นทางภาพที่ด้านบนของสคริปต์จากนั้นบันทึกสคริปต์เป็น.ps1ไฟล์ (เช่นlockscr.ps1) ในโฟลเดอร์เดียวกันกับไฟล์ชุดสับรูปภาพ หากคุณยังไม่ได้ทำตามคำแนะนำในส่วนการเปิดใช้งานสคริปต์ของแท็ก PowerShell wikiเพื่ออนุญาตให้สคริปต์ PowerShell ทำงาน จากนั้นแก้ไขไฟล์แบตช์ของคุณเพื่อเรียกใช้สคริปต์ PowerShell หลังจากที่ทำอิมเมจเสร็จแล้ว:

powershell -file .\lockscr.ps1

ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
DavidPostill
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.