----------------------------------------------------------------------------- 【 ソフト名 】 Come here windows version 1.01.00 [x86] 【製作・著作】 Copyright(C) 2014-2019 INASOFT 矢吹拓也 【 動作環境 】 Windows XP/Vista/7/8/8.1/10 (日本語版奨励,x86およびx64) ----------------------------------------------------------------------------- 1. はじめに   最近は、パソコン1台に対してモニタを2台以上接続して、快適なパソコンライフを  送っている方も多いと思います。作者もそのような環境にしています。   ところで、2台目のモニタは、普通のテレビを使っており、通常時はテレビを視聴  するために使っています。テレビを見ながらパソコンをしたい場合、一時的に、  マルチモニタ環境はシングルモニタ環境に逆戻りします。   ところが、セカンダリモニタ側に移動したウィンドウまでは戻ってきてくれません。  PCの認識としては、セカンダリモニタは繋がっているという認識。ただ画面だけが  テレビになってしまっているという状態。   この場合、ユーザがセカンダリモニタ側に持っていってしまったウィンドウを、  すべてプライマリモニタ側に引き戻す必要があります。   ただ、テレビの方を見続けていたいため、セカンダリモニタを映し出すことができ  ない。多数のウィンドウを一気にプライマリモニタに引き戻すことはできないものか?     そんな悩みを解決するために作ったプログラムが、このプログラムとなります。 2. 何をするプログラムなのか?   プライマリモニタの外側に配置された全てのウィンドウを、まとめてプライマリ  モニタ内に強制的に移動させます。   セカンダリモニタ上にウィンドウを配置したのだけど、理由があってセカンダリ  モニタを見ることができず、なんとかしてセカンダリモニタ上のウィンドウを連れて  きたい場合や、意図しない事故で画面外にウィンドウが行ってしまった場合等に  ご活用ください。 3. 動作環境   Windows XP/Vista/7/8/8.1/10 (日本語版奨励,32bitおよび64bit)で動作します。   他の環境でも動作するかもしれませんが、未確認です。 Windows 8/8.1/10では、デスクトップアプリケーションとして動作します。 4. インストール方法   本プログラムにインストーラはありませんので、圧縮ファイルを展開して出てきた  comehere.exeを直接起動してください。   圧縮ファイルには、x86版とx64版の2種類があるため、お使いのOSに適した方を ご利用ください。 (今のところ、x86版であれば、x86/x64の両Windows環境で動作します)   アップデートでインストールする場合は、上書きでインストールして  しまって構いません。   圧縮ファイルを展開すると、次のようなファイルが現れます。   ・comehere.exe …… プログラム本体   ・comehere.txt …… プログラムの簡易説明書(このファイル)   ・comehere.def …… 移動対象外のウィンドウのクラス名を指定するためのファイル (指定方法は、comehere.defのコメント部分を参照して下さい) 5. アンインストール   本プログラムにアンインストーラはありません。   保存するような設定もありませんので、圧縮ファイルを展開した際に出てきた  ファイルを全て削除すれば、アンインストール完了です。 6. 起動方法と使用方法  6.1 ダイアログモード   comehere.exeを起動してください。   ダイアログが表示されます。      入力欄に、次の項目を入力します。      ■次の範囲の座標にあるウィンドウを、プライマリモニタ上へ強制移動する    移動対象とする、現在のウィンドウ座標を指定します。    デフォルトでは (-29999, -29999)〜(29999, 29999) が指定された状態になって   います。    どういうことかというと、Windows上では、たまに座標を示す数値に特殊な意味   を定めている場合があり「32000」とか「-32000」とかの座標を対象に操作をすると   良くないことが起こりそうな感じなため、それを避ける目的で指定しています。   (どうやら、最小化時のウィンドウに割り当たっている座標が -32000 のようです。    拙作「東方レスキュー」では、対象ウィンドウを最小化しておかしくなった場合を    処理しているため、-32000の場合を処理していますが、本ソフトでは -32000 を    対象とはしていません。あくまで、通常のウィンドウをプライマリモニタ上に    引き戻すことを目的としていて、他の場合に予期せぬ障害を起こさないようにして    います)   ■サイズが大きすぎてプライマリモニタ外にはみ出すウィンドウを縮小する    プライマリモニタの画面サイズよりも大きなウィンドウがあった場合に、勝手に   画面サイズまで縮小します。固定サイズのダイアログなどがこの状態にある場合、   サイズを縮めると良くないことが起こるような気がしますので、そのようなダイア   ログが画面上になることを確認してからチェックを入れて下さい。   ■バージョン情報    バージョン番号と著作権情報を表示します。   ■説明書    本テキストファイルを表示します。   ■移動開始    ウィンドウの移動とリサイズを実行します。   ■閉じる    本プログラムを終了します。  6.2 コマンドラインモード   次の書式で起動すると、自動的&サイレントに実行が行われます。      comehere    … 対象とするウィンドウ位置の左側の座標(通常は-29999を指定する)    … 対象とするウィンドウ位置の上側の座標(通常は-29999を指定する)    … 対象とするウィンドウ位置の右側の座標(通常は29999を指定する)    … 対象とするウィンドウ位置の下側の座標(通常は29999を指定する)    … サイズが大きすぎてプライマリモニタ外にはみ出すウィンドウが        あった場合に縮小する場合は1を、無視する場合は0を指定する。   指定例:comehere -29999 -29999 29999 29999 1  6.3 動作仕様   ダイアログモードで「移動開始」ボタンが押されるか、またはコマンドライン  モードで実行されると、ウィンドウの移動とリサイズが行われます。   本プログラムでは、OSで管理されているすべての親ウィンドウを列挙し、その  位置とサイズと状態を取得します。   ウィンドウの状態が「非表示」または「最小化」状態になっている場合は、  そのウィンドウに対しては何も行いません。   (だから-32000を気にする必要も無さそうですが、怖いのでいちおう)   次に、そのウィンドウの位置と大きさが、指定された座標内に収まっているか  を判定し、収まっていなければ、そのウィンドウに対しては何も行いません。     次に、そのウィンドウの位置がプライマリモニタの外側ならば、プライマリ  モニタ内に移動します。この際、座標がマイナスならば原点に来るように移動  しますが、座標が画面右または画面下よりも大きい数値になっていたならば、  画面の右または下に張り付くような位置に移動します。   この後、ウィンドウの縮小が許可されていれば、ウィンドウの大きさを確認し、  はみ出している分だけサイズを縮小します。   なお、本プログラムはcomehere.defで指定したウィンドウクラスを持つ  ウィンドウを移動対象にしません。  6.4 注意事項   Windows Vista以降において、ユーザー アカウント制御が有効になっている  場合、本プログラムは、管理者権限で動作するソフトウェアのウィンドウを移動  できません。   管理者権限で動作するソフトウェアのウィンドウを移動させたい場合は、  本プログラムも管理者権限で起動させて下さい。   管理者権限で起動するには、主に次の2つの方法があります。   (1) 毎回管理者として起動する手順を実施する場合    実行ファイル(ショートカットでも良い)を起動する際に、右クリックして   メニューを表示し、「管理者として実行」を選んで起動する。   (2) 最初に登録し、以後は毎回、自動的に管理者として起動させる場合    実行ファイル(ショートカットでも良い)の右クリックでプロパティを開き、   「互換性」タブの中の「特権レベル」内の「管理者としてこのプログラムを   実行する」にチェックを入れ、OKボタンを押す。    ⇒これで、以後は自動的に管理者権限を持った状態でプログラムが起動する     ようになります。   画像付きの紹介は、こちらのWebページに記載してあります。    http://blog.inasoft.org/article/101858622.html#more  6.5 キーボードショートカットによるウィンドウ位置変更との違い   本ソフトを使わずとも、[Windowsキー]+[シフトキー]+[←] or [→]キーにより  モニタ間の移動が可能ですが、本ソフトを使った場合との挙動の違いは下記の通り  です。   ・複数のウィンドウをまとめて移動できる。    (ウィンドウ1つ1つを選んで操作する必要が無い)   ・モニタ間を跨がってウィンドウが配置されている場合、[Windowsキー]+    [シフトキー]+[←]では跨がった状態からの脱出ができないが、本ソフトの    場合はプライマリモニタ内に収めた状態にすることが可能になる。   ・コマンドライン指定により、他の自動処理群の中に組み込むことができる。   ・タスクバーボタンを持たない独立した子ウィンドウについても対象にできる。 ウィンドウが見えなくても移動できる。 7. 著作権・転載について   本プログラムはフリーソフトです。著作権は 矢吹拓也 にあります。   本プログラムを使用した際に生じたいかなる障害についても、またドキュメント  ファイル等に不手際があったとしても、著作権所有者は一切の責任を負わないもの  とします。   このソフトウェアは、ユーザーが自称初心者(=初心者であることを威張り、他  の人より多くの利益を得ようとする者)である場合は利用できません。自称初心者  の方のご利用はお控えいただきますよう、お願いします。従いまして、自称初心者  の方が初心者であるが故に起こした事故、または自称初心者であるが故の質問など  は一切受け付けませんので、予めご了承下さい。   このプログラムは再配布可能[*]です。これには、他のネットワーク、インター  ネット上の他のサイトへの転載、雑誌の付属メディアへの掲載・収録も含まれま  す。一般的な再配布の概念を拡張し、次の事柄も認められます。   ・アーカイブ形式の変更を行うこと。あるいは再アーカイブを行うこと。   ・他国語への翻訳を行うため、配布物にあらかじめパッチを当てて再配布    すること。あるいはパッチを公開すること。   ・有用なメッセージの追加あるいは有用なメッセージへの変更のために、    配布物にあらかじめパッチを当てて再配布すること。あるいはパッチを    公開すること。   ・有用な機能を追加するために、オリジナルのモジュールの追加を行うこと    (ファイル単位に限る)。   ・不要な機能を除去するために、ファイル単位で除去を行うこと。   ・有料での再配布を行うこと。あるいは有料ネットワークへ転載すること。   なお、ミラーサイトへの転載を行う場合は、改変は一切認められません。  [*] 最も新しい正式版の再配布をしていただきますよう、ご協力をお願いします。    開発途中のバージョン(tr/α/pp/pr/β/fb/rc等)の再配布をしてはいけません。    開発途中のバージョンが雑誌等の付属メディアに収録されてしまった場合、出    版社の全負担で回収していただくことになりますのでご注意下さい。   再配布については、作者に断りなく行うことができます。   本ソフトウェアの著作権上の規定は、日本国の法律に準拠することとします。   詳しくは、INASOFTのWebサイトを参照して下さい。   個別の事情がある場合や不明点などは、作者までご相談下さい。   ニュースサイトや更新情報を扱うサイト、個人サイトなどでの紹介などで  アイコンや実行画面を使われる場合も、連絡なしで構いません。   プログラム中になんらかのバグが見つかったり、ドキュメント中にミスが  あった場合は、メールなどで知らせていただけるとありがたいです。 8. 質問をお寄せになる場合の注意   質問をお寄せになる前に、ご質問の内容が本ソフトウェアと無関係のものでない  かをご確認下さい。また、同様の質問がすでにサイト上やドキュメント中に記載済  みでないかもご確認ください。   質問をお寄せいただく場合は、ソフトウェアの名称・バージョンなどの基本的な  情報の他、お使いのPCの機種名や環境情報、OSの名称やバージョン等をなるべく  細かくお知らせ下さい。   回答に必要な情報がお寄せいただけないと、質問にお答えできないことがありま  すので、ご協力をお願いします。 9. 更新履歴 2014/ 7/20 ver.0.10 初公開 2014/ 7/22 ver.0.11 注意事項等記載内容の充実/不要ライブラリの除去。 2014/ 8/13 ver.0.14β ツールチップの追加。 本テキストの「6.5 キーボードショートカットによる ウィンドウ位置変更との違い」に、タスクバーボタンを 持たない子ウィンドウについての記載を追加。 2014/ 8/17 ver.0.15 正式版として公開。 2014/ 8/24 ver.0.15.01 ・作者のメールアドレス変更に伴う、プログラムリソース からのメールアドレス文字列の除去。 ・「バージョン情報」ダイアログのINASOFT Webサイト (トップページ)の記載について、ボタンではなくリンク をクリックするとWebサイトを開く方式に変更。 2015/ 8/ 3 ver.0.15.02 ・Windows 10への対応を確認。 ・環境情報の表示(CCPU)が、Windows 10/.NET Framework 4.6 を認識するようにした。 2015/ 8/17 ver.0.15.03 ・ブラウザ起動を必要とする箇所において、起動に失敗し た場合にエラーメッセージを表示できていない箇所が あったため修正。 2015/11/18 ver.0.16.01 ・共有ライブラリ(環境情報の表示(CCPU))の更新。 Windows 10の各エディションの判別に対応/他。 ・Windows 10で、プライマリモニタ以外にタスクバーを表示 している場合、プライマリモニタ以外のタスクバーを プライマリモニタ上に連れてきてしまう挙動となってしまう ため、タスクバーは移動の対象外となるようにした。 同様に、移動の対象外とするウィンドウを定義した。 2015/11/22 ver.1.00.01 ・起動時に自身のexeファイルが壊れていないかチェックする 機能を追加。 ・移動対象外クラス名を定義ファイル(comehere.def)で 与えられるようにした。 ・移動したウィンドウのクラス名やウィンドウ名を、結果 ダイアログに表示するようにした。 2019/05/27 ver.1.00.01 ・x64版を公開。本ソフトはx86版でも64bit Windows上で 動作しますが、将来的にWindowsがx86版アプリケーションを サポートしなくなる場合に備えての公開となります。 ・環境情報の表示(CCPU)をLite版へ差替え。 ※Windows、Windows Vistaは米国Microsoft Corporationの米国およびその他の国におけ る登録商標です。 ※その他記載されている会社名、製品名などは、各社の登録商標もしくは商標です。 ※本ソフトウェアを利用される方がお使いになるPCに、ウイルス対策が施されている ことを確認して下さい。ウイルス対策が施されていない場合、本ソフトウェアを 利用してはいけません。また、質問も受け付けません。 ※このソフトウェアを利用して、犯罪行為を行うことを禁じます。 ※brothersoft等悪質転載サイトからダウンロードされたファイルは悪質に改変されて いることがありますので、悪質転載サイトからダウンロードしたフリーソフトは 使用禁止にしますと共にサポート対象外としますので予めご了承願います。 ----------------------------------------------------------------------------- [INASOFT] https://www.inasoft.org/ [eメール] https://www.inasoft.org/mail.html を参照してください。