レジストリを使用してWindows 7マシンの背景を変更する


18

マシンをワークグループに接続しました。壁紙を変更する設定はサーバーマシンにあるため、すべてのマシンで同じ壁紙が使用されます。レジストリを使用してマシンの壁紙を変更するにはどうすればよいですか?

いくつかの答えを読んだ後、

私が作成したWall.reg以下の内容で、とにショートカット作成したStart upファイルは自動的に実行されるように、フォルダを。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Desktop]
"Wallpaper"="C:\Users\Public\Pictures\Sample Pictures\Koala.jpg"

私は何かが欠けていますか?動作していません:(


1
壁紙パスで二重スラッシュを使用してみてください。
セイン

回答:


9

案内する

HKEY_CURRENT_USER \ Control Panel \ Desktop

そして、変更する壁紙あなたのイメージの完全なパスにキー値を。


9
また、ログオンするたびにGPOは壁紙を元の状態にリセットします。
ジョーテイラー

1
@JoeTaylor-パスを変更する代わりに、Pathを見つけて、同じ名前の画像を希望する画像に置き換えた場合 :)
スアメア

1
@Suamere-サーバーがホストされている場合(そうあるべきです)は、通常のユーザーには不可能です。
ジョーテイラー

3

これは古いトレッドであり、Windows 7は急速に時代遅れになっているOSであることは知っています。しかし、時折のユーザーの場合:私はこれを私の店で長年扱ってきました。私は自分のラップトップに特定の特権を与えるためにITに十分に近づいていますが、愚かなGPOを作成するのをやめるのに十分ではありません。

XPでは、Windows 7ではこれは単なるインスピレーションに過ぎません。レジストリに対するこの種の変更は、システムを再起動するまで有効になりません。また、GPOを回避しようとするため、これは多くの状況で「ミッション不可能」に相当します。ただし、再起動せずにレジストリの更新を強制的に適用する方法があります...

問題は、再起動する必要がないことです。レジストリ設定のキャッシュをフラッシュする必要があります。これは再起動の一部です

解決策(少なくともXPで):

@echo off
call :quiet>nul 2>&1
goto :EOF
:quiet
:: Configure Wallpaper (command prompt method works only with bmp files)
REG ADD "HKEY_CURRENT_USER\Control Panel\Desktop" /V Wallpaper /T REG_SZ /F /D "C:\WINDOWS\Web\Wallpaper1.bmp" 
REG ADD "HKCU\Control Panel\Desktop" /V WallpaperStyle /T REG_SZ /F /D 0
REG ADD "HKCU\Control Panel\Desktop" /V TileWallpaper /T REG_SZ /F /D 1
:: Make the changes effective immediately (only XP-compatible)
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters

これはXPマシンでうまく機能します。最後の行は、batファイルの一部として「user32.dll、UpdatePerUserSystemParameters」を実行するトリックです。これは「再起動」の代わりになります。:-)

これを[スタート]フォルダーに入れ、ショートカットファイルの組み合わせをbatファイルに追加しました。この方法で、私のPCは自分の壁紙で起動し、日中にGPOが数回更新されると、ショートカットキーを押し、好みのビューを取り戻します(これは、会社の株価である「不況の黒い画面」よりもずっときれいです);-)

新しいラップトップ(Win 7を実行)でこれを修正する方法はまだありませんが、この(XP)の動作に触発され、さらに調査することができると思います。


1
@Ramhound-ええと、あなたが私に尋ねると、それはちょっとした発疹です。もちろん、私はそうではありません-そうでなければ言っていました-「私はまだ新しいラップトップ(Win 7を実行している)でこれを修正するために手が回っていませんが、そこから誰かがインスピレーションを得ることができると思います(XP)の行動と研究をさらに進めます。」私はこのページに出くわした探して私の勝利7ボックスでこれを行う方法のために...そしてあなたは私の更新は次の来て見ているだろう、少しの忍耐を持っていた...
Hansjp

不要なpingを避けるためにコメントを削除したばかりです
ラムハウンド

2

まだXPボックスを扱っているあなた方のために、私は以前の答えをそのままにしておきます。

ただし、Windows 7ボックスの問題を解決するためのアプローチを共有できます。

  1. 前に言ったように、PCを再起動したくないのは、再起動時に
    強制されるグループポリシーと戦っているからです(私の
    個人的なケースでは、日中数時間ごとに)。ただし、
    レジストリを変更するには、キャッシュされた設定を
    有効にする前にフラッシュする必要があります。再起動するとそれが行われます。

ターゲットを達成する別の方法を見つける必要があります: "windows-7-machineの背景を変更します..."-"レジストリの使用"の部分はスキップします。そして率直に言って、私はそれがWindows 7での正しいアプローチだとは思いません!それはだった XP上で-私は私の前の回答で述べたように。

魔法の言葉は現在「テーマパック」であり、魔法の知識は「実行可能です!」です。必要なのは、それを実行し、埋め込まれた結果を処理する自動化された方法です。

  1. 私はラップトップ上の多くのことにAutoHotkeyバージョン1.1(http://ahkscript.org/)を使用していますが、このプログラムを実行するために必要な権限がある場合は、次の手順を実行してください。
  2. (AutoHotkeyで他に何もしないと仮定):txtファイルを作成し、「。txt」ではなく「.ahk」というファイル名拡張子を付けて、スタートアップフォルダー(「C:\ Users \ 私の場合、ユーザー名 \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startupを挿入します)。これで、すべての起動時に実行されます。

メモ帳または同様のツールを使用してファイルを編集します。次の行を挿入します。

    ; Setting wallpaper on the desktop on Win 7 which is: Apply a Themepack!
    <^<+D::
     Run "C:\Laptop theme.themepack"  ; Apply your Themepack
     WinWait Personlige indstillinger ; Wait for the window to get focus (the appearance is mandatory on an "apply" command)
     WinClose                         ; Close the last found window
    return

起動時にコードを実行するだけでなく、ホットキー(LCTRL + LSHIFT + D)も添付します。これにより、スクリプトのこの部分を自由に実行できます。

コマンドライン「WinWait」にも注意してください。私のシステムはデンマーク語であるため、個人用設定ウィンドウのタイトルは「Personlige indstillinger」です。独自のシステムのウィンドウのタイトルをここに挿入する必要があります。AHKヘルプファイルを読む方法をお読みください。最初から正しく推測できない場合は、その方法をお読みください。

  1. 残りのすべては、Windows 7ラップトップを1度だけパーソナライズすることです(グループポリシーでユーザー(ユーザー)が変更できない限り、いつでも変更できます)。満足したら、スクリプトで指定したパス(つまり、「C:\ Laptop theme.themepack」)に結果のテーマパックを保存して、完了します。

  2. 注:「C:\」に何も保存できない場合は、テーマパックを任意の場所(個人ユーザーフォルダーを含む)に配置できます。これの利点は、IT部門がラップトップを変更している場合でも、ユーザーフォルダーのバックアップに注意を払っていれば、スクリプトを保持できることです。私の個人的な趣味は単に物事を短くすることであり、私はそれを助けることができれば、起動中にネットワーク共有に接続するのは好きではありません。できる


1
そして、もちろん..明白なものはいつも目の前に隠れています!ThemepackをStartupフォルダーに保存するだけです!...これがすべての「起動時の自動実行」です。原則として、これは常にGPOのに実行されると信じています-少なくとも私のシステムではそうです。唯一の欠点は、その部分のスクリプトを作成しない場合、設定ウィンドウを手動で閉じる必要があることです。しかし、これによりAutoHotkeyの煩わしさが軽減されるため、言及する価値があると思います。
Hansjp

だから...どうやってテーマパックを作成しますか?
エマヌエーレチリアーキ

1
あなたはそれを手に入れることしかできません。Windowsは、オペレーティングシステムの起動時に自動的にビルドします。たとえば、デスクトップイメージに変更を加えると、「保存されていないテーマ」が単独で表示されます。必要なのは、1)ファイルを取得するためにファイルを保存し、2)ファイルを保存する場所にファイルをコピーすることです。それを見つけるには、デスクトップを右クリックして、[個人設定]を選択します。
Hansjp

1

サーバーがGPOを介して壁紙を制御する場合、ログインするたびに壁紙をリセットするか、マシンでGPOを更新する必要があります。

値を正しく変更するregファイルを作成してデスクトップに保存し、ログオンするたびにこのファイルを実行すると、ログオン後に必要な壁紙を作成できます。Thaneが提供するレジストリキーを使用して、正しい値をエクスポートします。これをインポートするたびに、レジストリが必要な値に変更されます。

考慮事項:

これを行う会社のITポリシーに違反していますか?
レジストリを変更できますか?起動タスクを作成しますか?すなわち、あなたは特権を持っていますか?
手間をかける価値はありますか?


レジストリを編集できます。regファイルとすべてを作成する方法についてのアイデアを教えてください。?
ラウフ

私の編集をご覧ください。
ラウフ

レジストリキーを手動でインポートする場合。すなわち、それをダブルクリックします。動作しますか?
ジョーテイラー

いいえ。動作していません。
ラウフ

このことについて、IT部門に相談することを絶対に検討します。ユーザーが壁紙を変更できないように変更/防止できるGP設定がいくつかあります。何らかの理由でこれを行った場合は、お湯に浸かり、レジストリをいじって変更することができます。
ジョーテイラー

1

ポリシーが使用しているデフォルトの壁紙ファイルに「コアラ」の壁紙を保存するだけです。


このファイルはおそらく誰でも書き込み可能ではなく、OPは管理者権限を持っているとは言っていません。
G-Manは「Reinstate Monica」と言います

私のために働いたが、あなたは正しい、それは彼のために働かないかもしれない。
マットパーク

0

これを試してみました。ユーザーをデフォルトのユーザーにコピーすると、元のユーザーのテーマ領域へのハードコードされたパスが保持されるため、元のユーザーの背景を一般的に利用可能な領域に変更しようとしました。

パスに二重バックスラッシュ「\\」を付ける必要があることがわかりました。「C:\\ Users \\ .....」それ以外の場合、.regエントリは無視されます!


0

おそらくすべての場合の答えではありませんが、除外する価値はあります。設定を有効にするには、ログオフしてから再度ログインする必要があります。(これは、他の人が指摘しているように、GPOと戦っている場合には役に立たないでしょう。なぜなら、それはすぐに元に戻すからです。)

Win7のセットアップでは、HKEY_CURRENT_USER \ Control Panel \ Desktop \ Wallpaperをいくつかの画像に設定していましたが、実際のデスクトップの背景には何もしませんが、[コントロールパネル]-> [パーソナライゼーション]で設定が保持されたように見えます。これは、ログアウトしてから再びログインすると新しい壁紙が定着することに気付くまで、私を夢中にさせていました。

更新9/8: これは、レジストリを使用するだけでなく、レジストリだけを使用して壁紙を変更する満足のいく方法を見つけることができなかったという点で、OPの質問に答えません。いくつかのコードを記述してデプロイできる場合SystemParametersInfoSPI_SETDESKWALLPAPERフラグ付きのWin32呼び出しにより、ログアウト/ログインダンスなしで壁紙がすぐに有効になることがわかりました。詳細については、この回答を参照してください。繰り返しますが、その設定を制御するためにGPOと戦っている場合は役に立ちません。


設定を適用するためにユーザーからログアウトする必要があるという問題について言及していますが、それを行った場合、GPOは影響を及ぼしますが、その処理方法については言及しません。
ラムハウンド

申し訳ありませんが、これは、GPOが設定をオーバーライドしていない場合にのみ役立つと答えました。
user1454265

また、これはあなたの状況に役立つかもしれませんが、フォローアップする価値があります-レジストリのみを使用して壁紙を変更する満足のいく方法を見つけることができませんでした。最終的に、SystemParametersInfoへのWin32呼び出しを使用したソリューションに落ち着きました。参照:stackoverflow.com/questions/1061678/…–
user1454265

私の答えを更新しました。
user1454265

Ramhound:私はあなたの要求通りに答えを更新しましたが、コメントを削除し、ダウン票に変換しました。チャットで話せますか?私はここで私が少しでも貢献できることで正直に助けようとしています。
user1454265

-1

これは古いことです。しかし、私はこの問題を解決しなければならず、その方法は少し卑劣です。

必要な設定を指すようにレジストリエントリを設定し、すべてのユーザーが読み取りを許可するようにアクセス許可を設定しますが、システムを含むすべてのユーザーが変更するアクセス許可をブロックします。

GPOが処理を開始すると、その特定の設定に対してアクセスが拒否されるため、ユーザーは目的の設定にこだわることになります。

ファイルがローカルシステムにある場合は、実際のイメージに対してこのトリックを実行しない限り、同じファイル名を使用しないでください。そうしないと、ポリシーによってファイルが上書きされる可能性があります。


1
もっとコーヒーが必要なのかもしれませんが、これは質問の質問とは正反対ですか?
fixer1234

...そして実際に解決策を提供するのではなく、説明を提供するだけです。
not2qubit
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.