Mengubah wallpaper tergantung pada waktu hari melalui skrip atau file batch?

9

Saya ingin memiliki 2 wallpaper berbeda yang berubah menurut waktu (masing-masing 6 dan 22 jam) dan hanya ingin menampilkan malam satu setelah 22 jam dan satu hari hanya setelah 6 jam dan sampai 22 jam.

Saya tidak menemukan program yang dapat melakukan ini setelah siaga, jadi saya pikir itu harus mudah diwujudkan dengan penjadwal tugas yang menjalankan skrip. Sekarang pertanyaannya bukan hanya bagaimana mewujudkan skrip semacam itu, tetapi juga apakah skrip tersebut harus menyertakan pengecekan waktu atau penjadwal tugas. Saya tidak yakin apa yang akan bekerja lebih baik dengan PC yang lama dalam kondisi siaga.

Saya sudah mencoba beberapa skrip dari pertanyaan serupa dan berharap saya bisa mengubahnya sesuai dengan kebutuhan saya, tetapi semuanya tidak berfungsi sama sekali.

Adakah yang bisa membantu saya? TIA.

Patrick
sumber

Jawaban:

5

Ini sebenarnya sangat sederhana:

  1. Klik kanan pada latar belakang desktop
  2. Pilih "Personalisasi"
  3. Klik "Latar belakang desktop"
  4. Seret dan jatuhkan gambar ke dalam kotak atau pilih "Browse" dan cari gambarnya
  5. Periksa kedua gambar, pastikan pagi hari yang pertama
  6. Tunggu hingga 12:00 dan pilih "Ubah gambar setiap 12 Jam"
  7. Nikmati!
Adam
sumber
Ini adalah trik yang elegan!
aalaap
5

Gunakan penjadwal tugas dan buat VBscript untuk mengubah wallpaper. Buat skrip untuk setiap wallpaper yang ingin Anda gunakan.

dim shell
Set shell = WScript.CreateObject("WScript.Shell")
wallpaper = "C:\path\to\wallpaper.jpg"
shell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", wallpaper
shell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True

Simpan file sebagai something.vbs dan tambahkan ke penjadwal tugas, dan voila! Anda berhasil semuanya.

Disebutkan juga bahwa itu tidak akan mengubah wallpaper jika komputer Anda dimatikan pada saat itu akan berubah. Ini salah, karena tugas dapat diatur untuk dijalankan pada boot pertama setelah waktu yang dipilih, jadi itu akan ditetapkan setelah Anda memulai komputer meskipun komputer dimatikan selama waktu yang seharusnya telah berubah. Untuk mengatur ini, buka properti tugas khusus dan masuk ke tab pengaturan. Centang kotak kedua di jendela dan pergilah.

Skrip ini berfungsi dengan baik untuk saya di Windows 8. Harap perhatikan bagaimana saya memodifikasi skrip asli sedikit untuk membuat skrip lebih pendek.

Sumber: http://www.ehow.com/facts_7586006_script-change-desktop-background.html

Steen Schütt
sumber
Inilah jawaban sebenarnya.
Joe Coder
1

Setiap kali saya melihat seseorang bertanya tentang melakukan sesuatu pada waktu tertentu atau secara berkala di Windows, berikan saya ide untuk menggunakan Penjadwal Tugas Windows.

masukkan deskripsi gambar di sini

Untuk melakukan apa yang ingin Anda lakukan, Anda harus membuat dua taks, masing-masing dijadwalkan untuk mengeksekusi satu skrip atau perintah untuk mengubah dari satu ke wallpaper lainnya pada waktu tertentu yang Anda inginkan. Perintah-perintah ini harus dapat secara otomatis mengubah wallpaper Windows Anda sendiri, dan cara termudah untuk melakukannya adalah menggunakan Windows Registry. Di sini Anda dapat menemukan HOWTO: Ubah Wallpaper Desktop dengan kunci registri berikut:

HKEY_CURRENT_USER \ Control Panel \ Desktop \ WallPaper

Jadi, buat tugas Anda mengatur nilai ke registri Anda dan Anda akan dapat mengubahnya secara otomatis tanpa perlu menginstal aplikasi bagian ketiga.

Diogo
sumber
Terima kasih, tetapi itu membutuhkan restart, tetapi harus diterapkan secara instan. Saya juga sudah mencoba program itu. Itu tidak bisa melakukan apa yang saya inginkan, karena itu tidak akan mengubah wallpaper dari katakan, malam ke hari, jika PC melewatkan waktu untuk beralih karena itu dalam keadaan siaga misalnya.
Patrick
Itu sama sekali tidak membantunya - maka dari apa yang saya tulis di posting saya, itu membutuhkan restart atau logout dan login untuk membuat perubahan, sehingga tidak otomatis.
PnP
Anda sebenarnya cukup dekat, Anda hanya perlu memperbarui parameter sistem setelahnya. Lihatlah jawaban saya.
Steen Schütt
1

Saya bermaksud melakukan ini selama beberapa waktu, lalu kembali ke topik sambil mengubah konfigurasi kembali ke cara yang saya suka, setelah OS menginstal ulang.

Setelah melihat ke dalam proyek saya menemukan file konfigurasi tampilan slide; (% APPDATA% / Microsoft / Windows / Tema / slideshow.ini). File ini berisi baris "ImagesRootPIDL =" yang, setelah sedikit googling, menunjukkan bahwa rangkaian besar huruf, angka, dan simbol berikut ini benar-benar ada, "PCIDLIST_ABSOLUTE yang uuencode" tampaknya ini adalah cara untuk menemukan direktori di windows di tingkat yang lebih rendah daripada menggunakan jalur.

Singkatnya, cerita panjang tampaknya seolah-olah file ini berubah ketika gambar ditambahkan ke dir untuk slideshow atau ketika slide show diubah ke dir baru. Jadi solusi saya adalah menulis file batch menjadi dua kali sehari, tergantung pada variabel% TIME%, salin .ini untuk setiap tayangan slide saya ke folder konfigurasi saya dan menambahkannya dengan siang atau malam kemudian menimpa file .ini di folder tema dengan slideshow .ini slideshow yang sesuai.

Satu kelemahan dari solusi saya adalah bahwa, saya sekarang memiliki file batch yang berjalan sepanjang waktu, meskipun saya kira tugas yang dijadwalkan akan menjadi implementasi yang lebih baik dan mengatasi masalah itu, saya suka membangun hal-hal yang hanya benar-benar berinteraksi dengan diri mereka sendiri. Sejauh ini ini tidak memerlukan restart, dari komputer atau penjelajah untuk beralih di antara tayangan slide, itu hanya bergulir ke tayangan slide berikutnya setelah waktu antara slide selesai. Saya belum mencoba membuatnya gagal, tetapi menjalankannya selama dua minggu tampaknya cukup periode debug bagi saya.

Saya agak baru di OS windows, jadi saya minta maaf jika ini memiliki terlalu banyak pernyataan yang jelas di dalamnya, atau mudah dilakukan dengan mengklik beberapa kali. Saya pikir hal semacam ini adalah cara tercepat untuk mempelajari cara kerja dalam OS, meskipun saya pikir saya bisa menulis ini di sekitar lima baris dalam script bash linux daripada empat puluh beberapa baris batch raksasa colossus.

hantu
sumber
0

Sayangnya saya tidak berpikir ada sesuatu yang dibangun ke dalam Windows yang akan memungkinkan Anda untuk melakukan ini tanpa harus benar-benar keluar dan masuk kembali. Karena Wallpaper dapat dikontrol melalui registri, Anda dapat membuat file batch untuk memodifikasi entri registri - tetapi perubahan pada wallpaper itu sendiri tidak akan terlihat sampai Anda logout dan kembali. Anda dapat mencoba aplikasi pihak ke-3 seperti: http://download.cnet.com/Automatic-Wallpaper-Changer/3000-2336_4- 10560884.html

Semoga ini membantu.

PnP
sumber