Windowsでリモートデスクトップのウィンドウを特定の位置に表示させるTech TIPS

RDPファイルを利用するとリモートデスクトップ接続をカスタマイズできる。だが、そのウィンドウの表示位置はGUIから設定できない。RDPファイルを直接編集すれば位置を指定できる。

» 2014年10月24日 00時00分 公開
[島田広道デジタルアドバンテージ]
Tech TIPS
Windows Server Insider


「Tech TIPS」のインデックス

連載目次

対象ソフトウェア:Windows 7/Windows 8/Windows 8.1/Windows Server 2008 R2/Windows Server 2012/Windows Server 2012 R2



解説

 Windows OS標準のリモートデスクトップ接続では、拡張子が.RDPのファイル(RDPファイル)にリモートデスクトップの各種設定を保存しておくことで、それをエクスプローラーでダブルクリックするだけで特定のリモートコンピューターへ素早く接続できる。RDPファイルの作り方については、右上の関連記事を参照していただきたい。

 エクスプローラーでRDPファイルを右クリックして[編集]を選ぶと、ログオンユーザー名やデスクトップのサイズといった設定をGUI(ダイアログ)で指定・保存できる。しかし、リモートデスクトップのウィンドウをどの位置に表示するか、という設定はなぜかそのGUIには見当たらない。

 このままだと、RDPファイルからリモートデスクトップ接続を始めるたびに、いちいちウィンドウをちょうどよい位置に移動する必要がある。また場合によってはウィンドウのサイズが最大になっておらず、スクロールバーが表示された状態になっていることがある。この場合、やはり接続後にいちいちウィンドウの右下をドラッグして最大サイズにする必要がある。どちらも非常に面倒だ。

 そこで本稿では、このリモートデスクトップのウィンドウを特定の位置に、常に指定したサイズで表示させる方法を説明する。

操作方法

●ウィンドウ位置を指定するにはRDPファイルの「winposstr:」行を修正する

 リモートデスクトップのウィンドウを特定の位置に表示させるには、RDPファイルをテキストエディターで開き、「winposstr:」から始まる行を書き換える。「winposstr:」の行が見つからない場合は、最下行にでも追記すればよい。

Windowsのメモ帳で開いたRDPファイル Windowsのメモ帳で開いたRDPファイル
RDPファイルには、ログオンユーザー名などリモートデスクトップ接続に必要な情報が保存される。なお、RDPファイルを保存する際には、文字コードをUnicodeにして保存すること。
  (1)リモートデスクトップの「デスクトップ」の幅を指定している行。
  (2)リモートデスクトップの「デスクトップ」の高さを指定している行。
  (3)リモートデスクトップの「ウィンドウ」の位置を指定している行。これを修正してウィンドウの位置を変える。

 「winposstr:s:」に続く数値列は、次のように指定する。座標の単位はいずれもピクセル(画素)である。

winposstr:s:0,1,<ウィンドウ左上のX座標>,<ウィンドウ左上のY座標>,<ウィンドウ右下のX座標+1>,<ウィンドウ右下のY座標+1>



 ここで注意すべきは、「ウィンドウ」とはクライアントPC(接続元のPC)の画面に表示されるリモートデスクトップのウィンドウを指していることだ。つまり、そこにはウィンドウタイトルやウィンドウ枠も含まれる。一方、上の画面の(1)(2)の「デスクトップ」は、接続先のリモートコンピューターのデスクトップを指していて、ウィンドウ枠などは含まれない。

 ちょっと分かりにくいので、以下の画面で「デスクトップ」のサイズや「ウィンドウ」の位置との関係を説明しよう。

RDPファイルでの「デスクトップ」と「ウィンドウ」の関係 RDPファイルでの「デスクトップ」と「ウィンドウ」の関係
これはクライアントPCでRDPファイルからリモートデスクトップを起動した例。RDPファイルには、デスクトップのサイズやウィンドウの位置を次のように記述している。

desktopwidth:i:(1)の値>
desktopheight:i:(2)の値>
winposstr:s:0,1,(3)の値>,(4)の値>,(5)+1の値>,(6)+1の値>

縦横の位置(座標)の原点はいずれもクライアントPCのデスクトップ左上隅である。また座標の単位はいずれもピクセル(画素)だ。画面左上が (0,0) で、右や下へ行くほど大きくなる。
  (1)リモートデスクトップの「デスクトップ」の幅。ウィンドウ枠の分は含まない。
  (2)リモートデスクトップの「デスクトップ」の高さ。ウィンドウ枠の分は含まない。
  (3)リモートデスクトップのウィンドウ左上の横位置。
  (4)リモートデスクトップのウィンドウ左上の縦位置。
  (5)リモートデスクトップのウィンドウ右下の横位置。
  (6)リモートデスクトップのウィンドウ右下の縦位置。下側にあるタスクバーと重なるような座標を指定しても表示できない(タスクバー上端までとなる)ので注意。

 (3)(6)によるウィンドウ位置の指定は、ウィンドウのサイズをも決定している。そのため、もしデスクトップ(とウィンドウ枠などを足し合わせた)サイズとウィンドウのサイズが食い違っていると、デスクトップ全体が表示されずウィンドウにスクロールバーが表示されたり、デスクトップが縮小されて表示されたりする。

 そのため、ウィンドウの位置を指定するには、ウィンドウタイトルやウィンドウ枠の縦横サイズを加味する必要がある。正確なサイズが分からなければ、右下位置の値を少し多めに指定しておけばよい。とはいえ、これらのサイズはWindows OSの種類やデスクトップ表示の設定などによって変動することもあって、計算が面倒なことに変わりはない。

●Default.rdpから設定内容をコピーすると手っ取り早い

 そこでお勧めなのが、リモートデスクトップのデフォルトの設定を保存している「Default.rdp」を利用する方法だ。これはユーザーのドキュメントフォルダー(デフォルトでは「%USERPROFILE%\Documents」)に隠し(不可視属性)ファイルとして保存されていて、スタートメニューあるいはスタート画面から「リモート デスクトップ接続」を起動したときの各種設定の参照・保存に用いられる。

 さらに、ウィンドウの位置などを変更して終了すると、Default.rdpに保存される。そこで、以下の手順でウィンドウ位置に関する設定を転記すればよい。

  1. スタートメニューあるいはスタート画面から「リモート デスクトップ接続」を起動する
  2. [オプションの表示]をクリックしてから[画面]タブを選択する
  3. 「画面の設定」でデスクトップのサイズを指定する
  4. 適当なリモートコンピューターに接続・認証する
  5. リモートコンピューターのデスクトップが表示されたら、そのウィンドウを希望の位置に移動する
  6. リモートデスクトップ接続を終了する
  7. ドキュメントフォルダーにあるDefault.rdpをテキストエディターで開き、「desktopwidth」「desktopheight」「winposstr」の各行をコピーする
  8. ウィンドウの位置を変更したいRDPファイルをテキストエディターで開き、「desktopwidth」「desktopheight」「winposstr」の各行を、先ほどコピーしたもので置き換える

 Default.rdpをテキストエディターなどで開くには、エクスプローラーで隠しファイルを表示させる必要がある。それにはエクスプローラーの[ツール]メニューから[フォルダー オプション]を選択して(Windows 8/Windows Server 2012以降では[表示]メニューの[オプション]ボタンをクリックして)、フォルダーオプションのダイアログを表示させる。そして[表示]タブ画面で、[ファイルとフォルダーの表示]−[隠しファイル、隠しフォルダー、および隠しドライブを表示する]を選択する。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。