Baru-baru ini ditingkatkan ke Windows 8, skrip saya untuk mengambil gambar wallpaper desktop saat ini telah rusak.
Untuk Windows 7, Bagaimana saya bisa mengetahui jalur ke gambar desktop saat ini? , ini bekerja dengan baik. Namun, kunci registri itu sekarang selalu berisi
C:\Windows\web\wallpaper\Windows\img0.jpg
Apa kunci registri baru yang digunakan untuk Windows 8?
Saya telah menemukan dua solusi yang mungkin.
Pertama, kunci ini berisi apa yang tampak seperti jalur yang disandikan Base64:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers\Images\ID2
Dan kemudian ada "file properti tema kustom" yang juga berisi bagian "[SlideShow]" yang terlihat seperti Base64:
C:\Users\Scott\AppData\Local\Microsoft\Windows\Themes\Custom.theme
windows-8
desktop-customization
Scott Bennett-McLeish
sumber
sumber
Jawaban:
Dua kunci registri di bawah keduanya menyimpan jalur asli gambar wallpaper saat ini:
Mereka dalam format Unicode, setelah decoding itu, orang akan memiliki path lengkap ke gambar wallpaper saat ini.
sumber
[System.Text.Encoding]::Unicode.GetString($bytes[24..($bytes.length-1)])
, anggap$bytes
berisi nilai kunci$bytes=(New-Object -ComObject WScript.Shell).RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\TranscodedImageCache_000"); $path=([System.Text.Encoding]::Unicode.GetString($bytes[24..($bytes.length-1)]) -split "\0")[0]
sumber
Periksa nilai
HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper
REG_SZ (string). Ini akan menunjukkan kepada Anda jalan menuju TranscodedWallpaper.jpg yang sedang digunakan.sumber
Untuk windows 8 atau lebih baru Anda dapat meluncurkan file vbs ini:
https://gist.github.com/raveren/ab475336cc69879a378b
Atau gunakan skrip autohotkey ini:
http://www.autohotkey.com/board/topic/111813-open-current-wallpaper-under-mouse-in-windows-8/
Keduanya dibuat oleh saya.
sumber
Di Windows 8 dan 8.1 (dan, kabarnya, 10), jika Anda telah mengatur wallpaper dari Windows Picture Viewer (dengan membuka gambar di Viewer dan mengklik "Set as desktop wallpaper" di menu konteks), lokasinya akan menjadi
sumber
Dalam situasi saya, saya memiliki folder besar gambar yang siklus wallpaper saya melalui. Saya bosan beberapa setelah beberapa saat dan ingin menghapusnya atau kadang-kadang saya hanya bertanya-tanya apa nama gambar karena dapat memiliki deskripsi gambar.
Saya membuat 2 skrip berdasarkan umpan balik di atas - satu untuk mendapatkan jalur gambar saat ini dan satu untuk menghapusnya. Hanya menguji ini pada Windows 10.
Dapatkan jalur gambar (getwallpaper.ps1)
Hapus gambar (deletewallpaper.ps1)
sumber
C:\Users\<USERNAME>\AppData\Roaming\Microsoft\Windows\Themes
.TranscodedWallpaper
<NAME>.JPG
sumber