園部研 > > > Lc|English|Ger|Fre|Spa|Por|Ita
【22世紀へ!園部研】
全画面表示で位置がずれ一部隠れるIEを直す術 全画面表示で位置がずれ一部隠れるIEを直す術  

 問題点

 マイクロソフト(Microsoft) Windows(ウィンドウズ)のインターネット エクスプローラ(IE, Internet Exploorer, ,InternetExplorer, MSIE,インタネ)(IE)やエクスプローラを使っているときのことです.

 エクスプローラ(イクスプローラ,Explorer)とは,マイ コンピュータ(マイコンピュータ,My Computer),C:,マイ ドキュメント(マイドキュメント,My Documents),マイ ピクチャ(マイピクチャ,My Pictures),マイ ミュージック(マイミュージック,My Music),そして,「ファイルやフォルダの検索」などのファイル一覧画面を出しているプログラムです.

 以下,これらを代表させて「IE」を書くことにします.

 IEのウィンドウが表示装置の画面より小さいとこういう感じでしょう:



 それを「全画面表示(フルスクリーン表示,フルスクリーンモード,full screen mode,最大化,最大化表示,表示最大化,maximum)」(フルスクリーン表示)に変更すると,こうなりますね:

全画面表示,フルスクリーン表示


 ふだんから,ウェブページを最大のサイズにして見ている方にとって,この全画面表示は欠かせない機能でしょう.
 全画面表示には,
・各ウィンドウ右上端近くにある四角い全画面表示ボタンをクリックするか,
全画面表示にする
・IEで「表示(V)⇒全画面表示(F)」をクリックするか.
・IE画面でファンクションキーのF11を押します.

 元のサイズに戻すには,
・画面右上近くの,元のサイズに戻すボタンをクリックするか,
元のサイズに戻す
・ファンクションキーのF11を押します.
 ところが,マウスで何かを動かしたはずみか,何かのプログラムが終わったはずみか,次のようにウィンドウ位置の上と左右が表示装置の画面の上と左右とずれてしまうことがあります(ずれる,ずれた,おかしい,おかしくなった,見えない,スクロールできない,隠れる,隠れた,戻らない,ピタッと合わない)
 マウスでウィンドウの端をどうドラッグしようと,コンピュータを再起動(ブート,リブート,boot, re-boot, reboot, IPL)しようと,上のような正しい全画面の位置にウィンドウを戻せません.



 こんな風にスクロールバーが見えなくなってしまうと,画面を上下に動かしたくても,マウスのドラッグでは不可能になってしまい,矢印キー(↑,↓)やページキー(PgUp,PgDn)を使わないといけないので,非常に手間がかかります.

 これらの現象の原因は,IEのウィンドウ位置情報の設定値(window_placement)がおかしくなったためです.

 また,同じ原因による別の現象として,
  1. IEでリンクをクリックして別のページを新しいウィンドウで閲覧しようとするたびに,常に最小化された状態──つまり,ウィンドウが開かなくてタスクバー ボタンにだけIEが表示されている状態になってしまう.

  2. その反対に,いつも最大化され全画面(フルスクリーン)表示になってしまう.

  3. IEでリンクをクリックして別のページを新しいウィンドウで閲覧しようとするたびに,ウィンドウが大き過ぎたり小さ過ぎたりする.

などに遭った人もいます.


 原因

 この現象は,マイクロソフトから,Windows 95, Window 98版のIE 1.0〜5.5の既知障害:

■ New Internet Explorer Window Opens Partially Off the Screen(kbenv kbprb KB194759)」(英語)

として公開されています.

 いろいろ調べたところ,この現象の解決方法は3個あります.上記マイクロソフト情報に書いてあるレジストリ修正は,間違えるとこわいので最後の手段にしましょう.1から順々に実行してみて,直ればそれでおわりにします.


 解決方法1

  1. 起動されているIEのウィンドウを全部閉じます.

  2. タスクバーのをドラッグで動かして,表示装置画面の上端か左端か右端にもっていきます.

     ここでタスクバーというのは,ふつう画面の下端にあって,スタートボタンを含んでいる次のような帯状の領域ですが,位置は固定ではなく,うまく動かせば動くのです.

    taskbar,タスクバー


     タスクバーは画面の左右どちらかの端にドラッグすると,縦になります.
     タスクバーの中でも,下図の赤丸の部分をつかんでドラッグするのが,動かすコツです:

    タスクバーをドラッグできるところ


      移動先として,今表示されているタスクバーの一部と重なっている場所では受け付けてくれないので,タスクバーがピョンと移ってくれるまで,マウスのボタンを押したままズリズリと画面のへりに沿って動かしましょう.

  3. そのタスクバーをまたドラッグして,元の位置に戻します.

  4. IEを起動して前画面にして,正しい位置にくることを確かめます.
     もしだめなら,上記のタスクバーの移動をいろいろな位置にやってみてください.
     それでもダメそうなら,解決方法2へ進みます.

 上の方法で直った例を知っています.

 ■ 出典(Kimichanさん)


 解決方法2

 これは,タスクバーの高さを変えてWindowsにウィンドウサイズと境界を再計算させようということです.

  1. もしタスクバーを自動的に隠す設定をしていれば,はずします.
    外し方は,スタート⇒設定(S)⇒タスクバーとスタート メニューのプロパティ
    ⇒自動的に隠す(U)のチェックを消します.
    (作業終了後戻して結構です.)

  2. 問題のウィンドウを最大化します.

  3. 問題のウィンドウが最大化している間に,タスクバー(が画面下端にあれば)その上端を上にドラッグして,1段から2段にします.

  4. 高くなったタスクバーの許す新しい領域に合わせて,その最大化されたウィンドウを自分自身でリセットさせるのを許します.
     と書いてあったのはつまり,もう一度最大化が自動的に起こるか最大化させるのでしょう.手動で行うには,Alt-空白を押してプルダウンメニューが出ますから,そこで最大化(X)をクリックします.

  5. タスクバーを通常の1段に戻します.


 それでもダメなら,解決方法3へ進みます.

 ■ 出典(MVPS)


 解決方法3

 IEのウィンドウ位置情報の設定値(window_placementとOldWorkAreaRects)を,レジストリ エディタを使っていったんクリアして,コンピュータを再起動します.

  1. (Windows XP, 2000, NTでは)IEの位置がおかしくなっているユーザでWindowsにログインしている必要があります.「Administrator」や他のユーザでログインしているときはログインし直します.

  2. レジストリの内容を退避しておきます.

     というのは,万一レジストリを間違っていじって壊してしまうことに備えるためです.

     Windowsの「レジストリ(registry)」とは,登録簿といった意味の英語で,そのコンピュータのソフトウェアとハードウェアの制御を左右する大事な設定情報がぎっしり詰まっているファイルです.Windowsそのものや多くのアプリケーションから,頻繁に参照・更新されています.
     このため,正しく修正をすればいいのですが,もし間違った修正をしたり,ファイルを壊したり,ファイルを消したりしてしまうと,Windowsが再起動できなくなったり,装置が使えなくなったり,どこかのプログラムで不具合が起こってしまうというように,影響が大きく出ることがあります.

     【ご注意】レジストリの操作によるすべての影響は実行するあなたの責任です.園部研究室は一切責任を負いませんのでご注意ください.

     そこで,今からレジストリをさわる前に,万一のときに戻せるように,同じ内容のコピーを別のファイルに退避(=セーブ,バックアップ,書き出し,エクスポート)しておくわけです.

     レジストリのファイル(ひとつとは限りません)の中身は構造が複雑で,しかもいつプログラムにアクセスされるか分からないので,ファイルをエクスプローラやコマンドで単にコピーすることは有効な退避になりません.レジストリの退避には特別の手順が用意されています.


     ではここで,次の手順でレジストリの退避を実行してきてください.


     レジストリの退避は済みましたか? そうしたら次に進んでください.

  3. 起動されているIEのウィンドウをすべて閉じます(編集中に読みにこられないためのガードです)

  4. レジストリ エディタ(regedit)を起動します.
    (上記の退避手順の中で起動したままなら,そのまま続行してOKです.)

    レジストリ エディタの起動


    スタート⇒ファイル名を指定して実行(R)
    ⇒名前(O)ボックスに「regedit」を入力する
    ⇒OK.

  5. レジストリ エディタでは,木構造をしている「キー」が,左ウィンドウ領域にフォルダ型のアイコンがつながった構造で見えます.上から

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main

    を目でたどります.

     たどるなかで,[+]になっていてその下が表示されていないために見えないキーがあれば,[+]をクリックして[-]に変えれば,その下が表示されます.

     いちばん上の「HKEY_CURRENT_USER」などは,「ハイブ」と呼ばれるものです.

    レジストリ エディタをたどる


     最後に「Main」をクリックします.すると,フォルダが開いた形のアイコンに変わり,同時に,右ウィンドウ領域には,キー「Main」の値として,名前・種類・データの組が1個1行の表形式で表示されます.

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main


  6. 右欄の中の「Window_Placement」という文字列の上を右クリック
    ⇒削除(D).

     これで変更内容がレジストリに反映されることになります.
     「削除なんてしてもいいのか?」と思うかもしれませんが,あとで起動されるIEが正しい値をセットしてくれます.

     ちなみに,削除前のデータは,上記の退避ファイルの中で「Window_Placement」を含んでいる行を検索してみれば分かります.人によって違うと思いますが,正しく動いている私の環境で,
    「"Window_Placement"=hex:2c,00,00,00,00,00,00,00,01,00,00,00,00,83,ff,ff,00,83,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,96,00,00,00,00,00,00,00,99,04,00,00,87,03,00,00」
    という値がはいっていました.

     もし「Window_Placement」という文字列の上を(左で)ダブルクリックしてしまうと,データを変更する画面が次のように出てきてしまいます.必ず「キャンセル」のほうをクリックして閉じます.


  7. 上と同様にして,次のデータも削除します.

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\Old WorkAreas\OldWorkAreaRects

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\oldWorkAreas\OldWorkAreaRectsの削除


     ちなみに,削除前のデータは,上記の退避ファイルの中で「OldWorkAreaRects」を含んでいる行を検索してみれば分かります.人によって違うと思いますが,正しく動いている私の環境で,
    「"OldWorkAreaRects"=hex:00,00,00,00,00,00,00,00,78,05,00,00,c6,03,00,00」
    という値がはいっていました.

  8. レジストリ エディタのウィンドウを「×」ボタンのクリックで閉じます.
     レジストリ エディタは,メモ帳などふつうのプログラムと違って,「ファイル(F)‐名前を付けて保存(A)」といったメニューが存在しません.言い換えれば,起動してから行った変更についての一括キャンセルが効かないので,間違った修正をかけてしまわないよう,注意が必要です.決して余計なところの修正をしてはいけません.

     万一壊してしまった場合は,上記の退避の逆の「レジストリの読み込み(=復元,インポート)」をするか,Windowの(バージョンによって異なりますが)手段があればそれで復旧を行います.
     また,あらかじめ,ConfigSafeなど,レジストリの定期的な退避を行えるソフトウェアをインストールしておくことで,万一のときの復旧を楽にすることもできます.

  9. コンピュータを再起動します(またはログオフします).
     これによって,レジストリの変更がWindowsに伝えられます.

  10. IEを起動して最大化してみます.
     もし正常であれば,そのまま使います.

     万一IEの位置が依然として直っていなかったなら,上の方法が効かなかったことになります.
     その場合,上で退避しておいたファイル使ってレジストリを復旧した方が,万一ほかに悪影響がでなくて安全でしょう.

     参考: Libraさんという方の場合,のように,指定もしていないのにIEがいつも「重ねて表示する(cascade)」状態になって出てきてしまい大変困っておられますが,この方法では解決しなかったようです.(なお,上にもずれたのはウィンドウが画面の下端に来たからであって,基本的には下に下げながら表示されているだけと思います.IEを再インストールしたらどうなんでしょうね.)

■出典:
マイクロソフトから,IEの既知障害:
■ New Internet Explorer Window Opens Partially Off the Screen(kbenv kbprb KB194759)」として公開されています.
 この中の前半(window_placementの削除)の情報は世界中に多数見つかります.ですから,それだけで直ることが多いようです.
 けれども,後半(OldWorkAreaRectsの削除)の情報はここではじめて見ました.
 慎重な方は,まず前半だけ修正して再起動してIEが直るかどうか調べて,直らないときにはじめて,後半を修正してい再起動して調べる,という二段階で実行してもいいかと思います.


  >>   園部研 順路   >>> 

                   
- Copyright © sonobelab.com, Masayuki Sonobe 2003-2017.
- 最終更新日 3028日前: 2009. 7. 2 Thu 19:20
- ページのアクセス数(2003.07.26〜) 00,103,238
- 園部研のアクセス数(2002.07.01〜) 10,191,978