• 締切済み

ScreenSaverIsSecureの即時反映

windows7でスクリーンセーバーの設定 「再開時にログオン画面に戻る」 の有効/無効をExcelマクロ(VBA7.0)から変更しています。 レジストリ「ScreenSaverIsSecure」の設定変更内容を 即時反映するには、どのようにすればよいのでしょうか。 また、もしVBA以外で即時反映できる用でしたら、 そちらも併せてご教示いただきたく存じます。 ●レジストリパス  ・HKCU:\Control Panel\Desktop\ScreenSaverIsSecure ●現状 ・マクロ自体は正常終了し、上記以外のレジストリ値は 即時反映されます。 ・レジストリエディタでは変更(1→0,0→1)を確認できますが、 即時反映されません。 ・マクロ内でSendMessageを追記してみましたが、 即時反映はされませんでした。 ・レジストリが0でも即時反映されないため、 スクリーンセーバ開始→マウスを動かす→ログオン画面 に戻ってしまいます。 以上、よろしくお願いいたします。

みんなの回答

  • kteds
  • ベストアンサー率42% (1876/4424)
回答No.1

私の環境では(W7、W8、W8.1とも)次のようにすれば反映されます。 コマンドプロンプトで試してみて、動作すことを確認して、マクロに設定してみてください。 1. ScreenSaverIsSecure の値を変更する。 2. RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True を実行する。 3. ScreenSaveTimeOut の時間が経過すれば、ScreenSaverIsSecure変更が反映された画面で再開される。

rucas_craus
質問者

補足

kteds様 ご回答いただきありがとうございます。 本件、ご教示いただきました方法をそのままbatにして実行してみましたが、 即時反映はされておりませんでした。。。 試行手順は以下の通りです。  (1)ご教示いただいたコマンドを記載したbatファイルを作る。  (2)タスクスケジューラで開始時刻を5分後に設定する。  (3)しばらく放置し、スクリーンセーバが起動。 (ScreenSaveTimeOut=60、ScreenSaverIsSecure=1)  (4)タスクスケジューラにより自動でbatが実行される。(この間もPCには触れていません)  (5)タスクスケジューラを予約した時間から5分以上放置したのち、キーボードを触り、    スクリーンセーバを解除する。  (6)ユーザロック画面になってしまう。 本件、スクリーンセーバが起動していない状態でタスクを実行させる または batを手動で実行すると、その後にスクリーンセーバが起動しても、なりました。 もし何かご存知でしたらご教示いただきたく存じます。 以上、よろしくお願いいたします。

関連するQ&A

  • レジストリの設定をすぐに反映させたい

    Windows XP で VBScript を使っています。 たとえば、次のスクリプトを実行します。 Set WshShell = CreateObject("WScript.Shell") Call WshShell.RegWrite("HKCU\Control Panel\Mouse\MouseSensitivity", "20", "REG_SZ") その後レジストリエディタで確認したところ、値は問題なく変更されていたのですが、再ログオンしないとマウスの移動速度には反映されないようです。 これを即時反映される方法はありますか。 よろしくお願いします。

  • マウスのレジストリの設定をすぐに反映させたい

    Windows XP で.net を使っています。 現在出先で再起動のたびに初期設定に戻されてしまうパソコンを使っています。毎回マウスの速度を変更するのが面倒なので、そういうexeを作ろうと思ったのですが、うまくできなくて困っています。 レジストリの変更は行われているのですが、即時反映ができません。 Dim key As Microsoft.Win32.RegistryKey key=Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Control Panel\Mouse") key.SetValue("MouseSensitivity", "16") で、レジストリの値は変更されました。 続いて、 SendMessag(HWND_BROADCAST,WM_SETTINGCHANGE, 0, 0) ※Private HWND_BROADCAST As New IntPtr(&HFFFF&) ※Private WM_SETTINGCHANGE As Integer = &H1A で、即時反映を行うのですが反映されないで困っています。 もちろん再起動すれば反映されますが、出先のパソコンでは初期設定が反映されますので。 何か根本的に間違っているのでしょうか? それともこれはできないことなのでしょうか? できないならできないであきらめがつくのでどなたかよろしくお願いいたします。

  • スクリーンセーバーの変更が反映されません

    Windows XP Home Edition Version 2002 SP3 を使用しています。 スクリーンセーバーの変更が反映されません。 画面のプロパティ→スクリーンセーバー→スクリーンセーバーを変更→適用→OK の順で変更するのですが、設定が反映されず元のスクリーンセーバーが起動してしまいます。 どのスクリーンセーバーに変更しても同じ結果になります。 パスワードによる保護もかけていません。 インターネットで調べると、「system.ini」が読み取り専用になっていると起こる現象らしいのですが、確認してみた所その様にはなっていませんでした。 違う原因があると考えられます。 どなたか、教えて頂けると大変助かります。 よろしくお願いします。

  • スクリーンセーバでパスワードによる保護

    スクリーンセーバでパスワードによる保護をチェックしているのに パスワードを聞いてきません WINDOWSのパスワードは設定してますし。下記のレジストリは 修正しています ほかに設定がありますか? OSはWINDOWS XP PRO です ~~~~~~~~~~~~~~~~ 「パスワードによる保護」を有効にする ハイブ :HKEY_USERS キー  :Default\Control Panel\Desktop 値の名前:ScreenSaverIsSecure データ型:REG_SZ データ :1 0:スクリーンセーバーパスワード有効 1:スクリーンセーバーパスワード無効

  • スクリーンセーバーでパスワード保護ができない

    スクリーンセーバー設定画面で、パスワードによる保護にチェックを入れても、設定時間経過後パスワード要求画面が表示されません。 ログオンパスワードは設定しております。 また、レジストリのHKEY_CURRENT_USER\Control Panel\DesktopのScreenSaverIsSecureの値を「1」にしても要求されません。 機種:富士通FMV-K5250およびFMV-K5260 OS:WindowsXPPro SP2 複数台で同じ現象が発生しています。 ご回答よろしくお願いします。

  • スクリーンセーバー(マイドキュメントの写真を設定)を即時に起動させるには?

    お世話になっております。スクリーンセーバーの画像はマイドキュメント内に撮り貯めていたお気に入りの写真を使用しております。人が来た時に即起動させたい時があります。過去の質問では、.scrを検索して、そのファイルのショートカットをデスクトップ上に置けばいいとのお話でした。ですが、元から入っている既存の写真ばかりです。マイドキュメント内のお気に入りの写真で即起動する方法がありましたら教えて下さいませ。尚、スクリーンセーバを解除する時はパスワードを入力を求める設定にしております。即時起動させた場合も、この設定は引き継がれますでしょうか?よろしくお願いします。

  • Sheet1の変更をSheet2に即時反映したい

    Office2013のEXCELを利用しています。 Excel の [Sheet1] に入力したDATA (実際は記号です)を、 [Sheet2] に自動的に反映させたいのですが、 私の理解・手順では、'[Sheet1]にDATA入力⇒ファイルを保存後、 再度ファイルを開いて [Sheet2] の該当セルに + を表示した状態でマウスをずらしないと、[Sheet2] のDATAは変わりません。 手間というよりも忘れや、再確認もれの要因と心配しています。 何処か気づかずに再計算・自動計算を止めるような設定をしているために、 この様な無駄な手順を続けているのではないかと心配しています。 [Sheet1]の変更が即時に、[Sheet2]に反映できる設定方法の ご指導お願いいたします。 次の関数は [Sheet2] に設定している関数です。 =IF(AND(SUBSTITUTE('[Sheet1]1基本DATA '!C10,{"☆","★","※","◎"},)='[Sheet1]1基本DATA '!C10)=FALSE,'[Sheet1]1基本DATA '!C10,"")

  • 管理者での設定変更がユーザーに反映されない?

    WindowsXPで、管理者パスワードにて「このコンピュータ」にログオンし電源のオプションを「常にオン」に変更するのですが、ユーザーパスワードでドメインにログオンし設定を確認すると、変更したオプションが反映されないのです。 目的は、電源のオプションを「常にオン」にして、常に使えるようにしたいのです。デフォルトの設定が20分で省電力モード(画面のオフなど)になる。

  • VBAユーザーフォームの色が反映しない

    またぞろVBAよろしくお願いします。 今回はユーザーフォームを作りマクロを走らせている間『処理中』の表示をさせるようにしています。 そこでユーザーフォームのBackColorをパレットより選んで黄色とかにしているのですが、いざマクロ実行してみると色はグレー色のままだし、ラベルも反映していないのでコメントも出ないフォームが画面上に出ます。 でも、Captionでのコメントは反映して切り替わっています、フォーム自体の大きさも変更すると反映しています。 同じエクセルブックにもう一つユーザーフォームはつけていますがそちらはバッチリとデザインしたフォームで表示されます。 このフォームとの相違点はマクロ実行させる時に表示させているシートが違うぐらいなのですが、そういたっものも関係あるんですかね? 何処を修正したらよいのか、何故今回は反映してくれないのかホトホト困っておりますのでなにかアドバイスあればお願いします。

  • スクリーンセーバーが作動しません

    スクリーンセーバーを設定しようとすると「オプションなし」「このスクリーンセーバーには、設定できるオプションはありません」というメッセージが出て、プレビューはできますが設定時間になってもスクリーンセーバが作動しません。 電源設定も色々変更してみたりしたのですがうまくいきません。 どうすればスクリーンセーバが動作するようになるのでしょうか? PC:デスクトップPC OS:Windows Vista