ラベル Windows の投稿を表示しています。 すべての投稿を表示
ラベル Windows の投稿を表示しています。 すべての投稿を表示

2020年7月30日木曜日

MyDNSへのIPアドレス通知をWindowsのバッチファイルでする方法

MyDNSへのIPアドレス通知をWindowsのバッチファイルでする方法

WindowsのバッチファイルでMyDNSへのIPアドレスを通知するには。
FTPコマンドとHTTT-BASICを使って簡単なバッチファイルで通知する方法を紹介しています。

前提とする環境

mydns.jp ダイナミックDNSサイト

Windows10 (Windows7以降かな)

IPv4/IPv6 デュアルスタック IPv4シングルスタック


以下の記事で説明されているバッチファイルを置く場所は、自身のアクセス権のある場所に配置してください。
オススメは、ご自分のアカウントフォルダーの直下です。トラブルなく動作するのでちょっと幸せになれます。
例えば、
C:\USERS\<user name>\scripts

のような場所になります。以下の説明では 

 C:\USERS\Owner\scripts

であるとして説明しています。適宜読み替えてご利用ください。scriptsフォルダは最初は有りませんので自分で作ります。説明のためのスクリーンショット上では、当方の環境のためC:\USERS\Owner\scripts\mydns-ftpとなっていたりします。スクリプトの配置場所に読み替えてください。

 

■気がつけばMyDNSへのIP通知が止まっていた

Diceは設定ファイルが消えるらしい

いたって面倒くさがりなので、いままでMyDNSへのIPアドレスの通知はDiceというソフトを使っていた。しかし、あるときから通知されなくなっていたようで、MyDNSから『IPアドレスの通知がありません』とメールが来ていた。では、とDiceを見ると通知設定が消えているではありませんか。ネットで調べてみたところ、Diceには設定が消えてしまう不具合があるということでした。いや、たしかに実家PCに入れていたDiceの設定も消えていて、通知が滞るようになっていた。そのたびに再設定していたので、さもありなん。。。と振り返って。いやいや。。。そいつは困るでねーか。と他のアプリに依存しない方法を考えた。
 MyDNSにはPOPやFTP、HTTPでも通知が可能なので、今回バッチファイルで実現できそうなFTPとHTTPS-BASICを使ってMyDNSへのIP通知を実現することにした。

Dice設定が消えた。。。
Dice 設定が消えてるよ!もー

■MyDNSとは(一応)

国内有数のダイナミック・ドメイン・サーバーを提供する無料サイトです。
本来、自宅のサーバーを建てたり自宅へのVPN接続をするために固定IPアドレスを取得したほうが簡単に構築接続できるのですが、固定IPアドレスは別料金であったり、高額化してきています。
そこで、MyDNSを使い固定IPを取得せずにルーターに割り当てられたIPアドレスをMyDNSへ通知することでドメイン名で安価(無料)に接続できるようになります。IPアドレス変動に注意しなくてもWebサーバーを公開したりVPNにドメイン名で接続できるのでより簡単、楽に接続できるのでとても便利です。
とくにMyDNSが優秀なのは、いろいろな方法でIPアドレスを通知することができ、環境に合わせて通知方法を選択できることです。

■MyDNSへIPアドレスを通知する方法

・ソフトを使って通知する DiCEを使う

通知方法で便利で有名なのがDiCEというソフトです。ずっとこれを使っていたのですがコレに設定が消えてしまうという不具合があったのでした。他のPCに設定を移すのも意外と面倒なんです。それなら、バッチファイルを作りそれを他のPCにコピーすれば通知設定が完了するので、バッチファイルの方が融通が効くような気がしてきた。

・POPアクセスを使う メールソフトを使う

他にもメールでIPアドレスを通知する方法があるのですが、いやこれ、Windows10になってから付属の『メール』も設定時にちゃんと暗号化での接続ができないと設定が完了しなくなっています。Office2019等のOffice製品のOutlookでも同様で、暗号化設定ができないと設定が完了しません。
(回避方法はあるので気が向いたら記事書きます)

・FTPを使う

Windows標準のFTPクライアントはコマンドラインから操作できるので、今回はこれを使用しています。 
 
 

・HTTP-BASICを使う <オススメ>

URLに含める形でユーザー名とパスワードを指定できるのでこちらも簡単に通知できます。動作結果がわかるのでこちらのほうがいいかもしれません。

・HTTP-DIRECTを使う

スクリプト言語をつかえばできるのですが、別にインストールする必要があります。他にはPowerShellでできるかな?ただ、PowerShellは実行時にサクッと実行できなくてタスクスケジューラーに登録とかスタートアップに登録でよくハマるであまり好きではありませんw。
 
WindowsにはFTPコマンドがあり、コマンドからサーバーへ接続、ファイルの送信、ファイルの取得ができます。ただ、コマンドラインからの操作では、ユーザー名パスワードで手動で入力する必要があるのですが、今回ユーザー名、パスワードは別ファイルに記載したものをリダイレクトし入力する方式にしました。

バッチファイル ソースコード

FTP接続するバッチファイルとユーザーIDとパスワードを記載したファイル2つのファイルで構成されます。

[mydnsftp2.bat] 

REM mydnsftp2.bat for IPv4 & IPv6 
echo %~dp0
cd /d %~dp0
ftp ipv4.mydns.jp < mydnsftpuser.txt

ftp ipv6.mydns.jp < mydnsftpuser.txt

exit 0

 

[mydnsftpuser.txt] 

mydns1234567
aNatanOPaSSword4

  
1行目 ユーザID
2行目 パスワード
mydnsftpuser.txtは各自のアカウントに合わせて変更してください。

このバッチファイルを適当なフォルダ(C:\USERS\<user name>\scriptsがオススメ)に置いて、スタートアップフォルダにバッチファイルのショートカットを置いたり。タスクスケジューラーで1時間おきに通知とかすれば完成です。

実行結果 

上記のファイルを実行すると次のようになります。 
C:\Users\Owner\Scripts\mydns-ftp>mydnsftp2.bat

C:\Users\Owner\Scripts\mydns-ftp>REM mydnsftp2.bat for IPv4 & IPv6

C:\Users\Owner\Scripts\mydns-ftp>echo C:\Users\Owner\Scripts\mydns-ftp\
C:\Users\Owner\Scripts\mydns-ftp\

C:\Users\Owner\Scripts\mydns-ftp>cd /d C:\Users\Owner\Scripts\mydns-ftp\

C:\Users\Owner\Scripts\mydns-ftp>ftp ipv4.mydns.jp  0<mydnsftpuser.txt
ユーザー (ipv4.mydns.jp:(none)): パスワード:
OOPS: cannot locate user entry:mydns1234567
接続がリモート ホストによって閉じられました。

C:\Users\Owner\Scripts\mydns-ftp>ftp ipv6.mydns.jp  0<mydnsftpuser.txt
ユーザー (ipv6.mydns.jp:(none)): パスワード:
OOPS: cannot locate user entry:mydns1234567
OOPS: priv_sock_get_cmd
接続がリモート ホストによって閉じられました。
C:\Users\Owner\Scripts\mydns-ftp>
  
FTPサーバーは実際に動作していないのでエラーが出て停止していますが、これで正常にIPアドレスが通知されています。
たまに、そのFTPサーバーが動作していないときに通知ができないことがあります。

https://<MyDNS ID>:<MyDNS PassWord>@ipv4.mydns.jp/login.html
https://<MyDNS ID>:<MyDNS PassWord>@ipv6.mydns.jp/login.html
で通知ができるので。簡単なバッチファイルで通知が出来ます。


[mydnshttpbasic.bat]  
REM mydnshttpbasic.bat 
echo %~dp0
cd /d %~dp0
curl https://mydns1234567:aNatanOPaSSword4@ipv4.mydns.jp/login.html
curl https://mydns1234567:aNatanOPaSSword4@ipv6.mydns.jp/login.html

exit 0
 

のようなバッチファイルで通知が出来ます。

実行結果 

上記のバッチファイルを実行すると次のようになります。
C:\Users\Owner\Scripts\mydns-ftp>mydnshttpbasic.bat

C:\Users\Owner\Scripts\mydns-ftp>REM mydnshttpbasic.bat

C:\Users\Owner\Scripts\mydns-ftp>echo C:\Users\Owner\Scripts\mydns-ftp\
C:\Users\Owner\Scripts\mydns-ftp\

C:\Users\Owner\Scripts\mydns-ftp>cd /d C:\Users\Owner\Scripts\mydns-ftp\

C:\Users\Owner\Scripts\mydns-ftp>curl https://mydns1234567:aNatanOPaSSword4@ipv4.mydns.jp/login.html
<html>
<head>
<title>Free Dynamic DNS (DDNS) for Home Server and VPS etc  | MyDNS.JP</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<LINK href="./site.css" rel=stylesheet type=text/css>

</head>
<BODY BGCOLOR="#FFFFFF"
      TEXT="#304040"
      leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"
>
Login and IP address notify OK.<BR>
login_status = 1.<BR>
<BR>
<DT>MASTERID :</DT><DD>mydns1234567</DD>
<DT>REMOTE ADDRESS:</DT><DD>111.202.123.144</DD>
<DT>ACCESS DAYTIME:</DT><DD>2021/09/29 00:48:03 UTC</DD>
<DT>SERVER ADDRESS:</DT><DD>210.197.74.212</DD>
<BR>

</body>
</html>

C:\Users\Owner\Scripts\mydns-ftp>curl https://mydns1234567:aNatanOPaSSword4@ipv6.mydns.jp/login.html
<html>
<head>
<title>Free Dynamic DNS (DDNS) for Home Server and VPS etc  | MyDNS.JP</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<LINK href="./site.css" rel=stylesheet type=text/css>

</head>
<BODY BGCOLOR="#FFFFFF"
      TEXT="#304040"
      leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"
>
Login and IP address notify OK.<BR>
login_status = 1.<BR>
<BR>
<DT>MASTERID :</DT><DD>mydns1234567</DD>
<DT>REMOTE ADDRESS:</DT><DD>2422:4123:4fc4:3d00:ff1d:3cf2:72a9:ff7a</DD>
<DT>ACCESS DAYTIME:</DT><DD>2021/09/29 00:48:04 UTC</DD>
<DT>SERVER ADDRESS:</DT><DD>2604:180:f4::1e8</DD>
<BR>

</body>
</html>
C:\Users\Owner\Scripts\mydns-ftp>
 


■IPアドレスを更新時だけ通知する - HTTP Basic -

ほとんどのプロバイダーが付与するGlobalIPは、ほどんど変更されることは有りません。なので、上記の方法では無用な通知が多数を占め、MyDNSさんの貴重なサーバーリソースを無駄遣いしてしまうことになります。そこで、懸命なユーザーならIPアドレスが変更されたときだけ通知しようと考えると思います。
Windowsのバッチファイルだけで変更通知のみを行うスクリプトがなかなか見つけられなかったので作成しました。
以下のバッチファイルを置く場所は、自身のアクセス権のある場所に配置してください。
オススメは、ご自分のアカウントフォルダーの直下です。トラブルなく動作するのでちょっと幸せになれます。
例えば、
C:\USERS\<user name>\scripts
のようなところです。

[mydnsupdater.bat]  

REM mydnsupdater.bat
echo %~dp0
cd /d %~dp0

curl https://domains.google.com/checkip -4 > gipv4_curr.txt
fc /a gipv4_prev.txt gipv4_curr.txt


rem echo %ERRORLEVEL%
IF NOT %ERRORLEVEL%==0 (

echo [MyDNSUpdater] Updating IPv4 and IPv6 addresses
curl https://mydns1234567:aNatanOPaSSword4@ipv4.mydns.jp/login.html
curl https://mydns1234567:aNatanOPaSSword4@ipv6.mydns.jp/login.html


copy gipv4_curr.txt gipv4_prev.txt) ELSE (
REM echo NOUPDATE
)

exit 0


 


■自動実行するには スタートアップへ登録する

Windows起動時に一度だけ実行することが出来ます。
スタートアップフォルダーを開くにはファイルエクスプローラーのアドレスバーに

shell:startup

と入力すると開きます。



手動で開く時のスタートアップのフォルダーはこちらです。

C:\Users\<User Name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

<User Name>はご自分のWindowsへ登録されている名前です。フォルダーが表示になっているとエクスプローラーで表示されないので隠しファイルを表示するよう設定が必要です。

エクスプローラーのメニュー [表示]-[v]隠しファイル


このフォルダーに先程作成したバッチファイルのショートカットをコピーします。


■自動実行するには タスクスケジューラに登録する

タスクスケジューラーなら自分の意図した時間に実行することが出来ます。
スタート横の検索窓からタスクスケジューラと入力して検索すると表示されます。
以下、使用するバッチファイルは適時ご自分が利用するバッチファイルに読み替えてください。

基本タスクを追加します。

以下、
先程のHTTP-BASICを使用した[mydnshttpbasic.bat]をスケジューリングしてみます。  
今後管理しやすいように名前をつけます。
名前には、MyDNS-HTTPBASICのようにします。

とりあえず
(●)コンピューターの起動時
としておきます。これで起動時に通知されるようになります。



[参照]ボタンを押しバッチファイルの場所を指定します。

[mydnshttpbasic.bat]を指定します。

一応ここまででWindows起動時にMyDNSへ通知できるようになりました。
1時間毎に通知等さらに細かい設定を行います。

MyDNS-HTTPBASIC
というスケジュールが追加されたので、これを編集します。
[MyDNS-HTTPBASIC][右クリック]-[プロパティー]

[v]最上位の特権で実行する
もし、パソコンがスリープ時にログアウトしパスワードが必要な設定なら
 ●ユーザーがログオンしているかにどうかに関わらず実行する
に丸をつけてパスワードを入力してください。PINでは認証通りません。

タブ[トリガー]をクリックする

[編集]をクリック
トリガーの編集
[v]繰り返し間隔 チェックを入れる
間隔[1時間] を選ぶ
継続時間[無制限]を選ぶ
[OK]

他の項目はとくにイジる必要はありません。

[OK]を押す
以上です。
1時間ごとに黒いコマンドプロンプト画面が表示されて、通知するようになります。
最初はちょっとびっくりします。

■コマンドプロンプト窓を非表示にする
@タスクケジューラ

タスクスケジューラーで実行させるとほぼ希望したとおりの動作をします。しかし、やっぱり黒いコマンドプロンプトが表示されるとびっくりします。それに、作業中ならフォーカスが外れることで編集ミスや作業に支障をきたすことがあります。

そこで黒い窓を表示しないように、タスクスケジューラで実行するコマンドを工夫します。
すでにタスクを追加されていたら、
そのタスクの上で[右クリック]-[プロパティー]


タブ[操作]
[プログラムの開始]をクリックして[編集...]

[プログラム/スクリプト(P):]に次のコマンドをペーストします。

%comspec% /c start "" /min "C:\Users\Owner\Scripts\mydns-ftp\mydnsupdater.bat"  ^& exit

 


引数が[プログラム]ボックスに含まれているように見えます
と表示されたら、[はい(Y)]を押します。正しい記述に修正してくれます。
[Ok][Ok]で閉じます。
タスクの動作確認は、右クリック[実行]で今すぐ実行出来ます。
C:\USERS\Owner\scriptsフォルダー内に
gipv4_curr.txt
gipv4_prev.txt
が作成されているか。内容が正しいか。MyDNS内マイページでIPアドレスが更新されているかを確認してみてください。


先の項目で説明した"mydnsupdater.bat"バッチファイルを使った例です。
Ownerとなっているところは、それぞれのユーザー名に合わせて適宜修正してください。
startのあとの "" は必須です。削除すると動作しません。
各バッチファイル末に"exit 0"が必要になります。



    各バッチファイルの最後に"exit 0"を追加 2021.10.10
コマンドプロンプト窓を非表示にする@タスクケジューラ追記 2021.10.10
タスクスケジューラ・スタートアップについて追記 2021.10.02
FTP通知スクリプトを簡略化 HTTP-BASIC追加 2021.09.28


2019年6月7日金曜日

Windowsの時刻をマイクロ秒単位で表示したい

Arduinoのカウンターの調整をするためにWindowsの時刻を細かく表示して計測しようとすると、ミリ秒単位で表示するものもマイクロ秒単位で表示するものもない。

計測方法は、動作状況を画面キャプチャーすることで行う。
マイクロ秒まで計測できて非常に便利。画面表示できるものはこの方法で計測できる。

ただ、Windowsのシステムクロック自体にそんな精度があるかどうかは不明www

探してもそんなアプリは見つからないので作ってみた。

uClock マイクロクロックダウンロード  GoogleDrive
署名もしていないし、ダウンロード数も少ない
のでめっちゃ警告が出ます。一応ウイルスチェックしてから使用してください。
改ざんチェックはこちらのハッシュ値でご確認ください。
 MD5:  7c432fa05c5948d7038fc093478587e0
 SHA1: 688ef6afa67e58debad62cbbbc42c3153e6e122f
 SHA256: 984a4850127f269ea92fe86e98e3362fd6e4392304e395ed91bb24a9fcd04d8a
ハッシュ値をコマンドプロンプトで計算するには次のようにします。
>CertUtil -hashfile uClock.exe SHA256


7時39分39秒850ミリ700マイクロ秒

システムの時刻がずれていても感知しません。そのまま表示。
1msec間隔で画面を書き換えるように作ってはいます。
ユーザーフォルダーに入れて使ってください。
システムフォルダに入れると動かない。
なんで?

以下、実際に使用しているところ。
ターミナルに出力しているカウンターの進み具合を計算するのに
1回めのキャプチャ

2回めのキャプチャ

snipping toolで2回キャプチャーしています。
ターミナルの値はArduinoのTimer1を使用したマイクロ秒カウンターで、ミリ秒単位で表示しています。
60.641776秒で60576カウントしているのがわかります。

さて、どう調整するのか^^;




2012年8月26日日曜日

Chrome変なおじさんが私のパソコンを覗いています

Chrome変なおじさんが私のパソコンを覗いています
Google Chrome ウイルス感染?アドウエア?マルウエア?
スパイが私のChromeを覗いています!?

Windows
Google Chrome
-----

ってなわけで。

グーグルクロームでヤフオクやNECのホームページを見ていたら。
あれ?なんだこれ?
グーグルクロームの左上の角に見慣れないマークが。
サングラスをしたスパイ?警察?私服警官?へんなおじさん?らしい怪しげなマークが表示されている。

押しても、右クリックしても何もならない。
ウイルス感染したか?
(あたふた、あたふた)


Chrome A hooded spy icon in the upper left-hand corner
帽子をかぶった怪しいスパイ 覗き中
 
Chrome A hooded spy icon in the upper left-hand corner
拡大:きっとこいつはマフィアくずれのスパイです


見るからに、こいつは、スパイです。はい。
多分イタリアのマフィア崩れだと推測されます。
いや。映画で見たのがこんなんだったから。

さてさて、このスパイ。私の何を監視しているのでしょうか。
どの情報を持ちだそうしているのでしょうか。
ID。パスワード。クレジットカード番号。
氏名。生年月日。
好きな食べ物。。。。それ、バナナです。


これが何かを調べてみましょう。

グーグル先生の画像検索を使ってみました。

グーグルのトップページから、画像検索に移動し。
画像をドラッグアンドドロップします。



その結果。
このスパイの表示は、Google Chromeの新機能でした。
な~んだ。

Google Chrome新機能 Incognito mode
シークレットモード。もしくは、シークレットブラウジング。

その機能は。

・閲覧履歴や、ダウンロード履歴が記録されない。
・生成されたCookieは、そのウィンドウを閉じた時に削除される。

出先のパソコンでちょっとあやしい調べ物をするときに便利かな?

シークレットモードに入るには。
・レンチマークから[シークレットウィンドウを開く]

シークレットモードへの移行
 


・[Ctrl]+[Shift]+Nを押す

ちゃんと説明文が表示されます。

シークレットモードの説明

Google Chromeの公式ホームページでの解説はこちら

とりあえずホッとしましたが。。。
なんで勝手にシークレットモードに入ったんだろうか。
まぁ。いいけど。

急に出てきたから結構焦ったー。





2012年6月5日火曜日

AMD/ATI RADEON HD Eyefinity 3画面設定方法とホットキー設定

AMD/ATI RadeonHD Eyefinity 3画面設定方法とホットキー設定
Windows7/64bit
AMD/ATI RadeonHD 5000,6000,7000以降
ディスプレイドライバー Catalyst Control Center 12.3(2012/3/20) 以降
DisplayPort変換アダプタ アクティブタイプ必須


さて、ビデオボードからディスプレイを接続し3画面化する方法と、
そこから、Eyefinityのディスプレイグループの構築方法を説明します。

1.パソコンはWindows7が必須になります。64bitがいいでしょう。
2.AMD/ATI RADEON HD 5000系以降のディスプレイボードを入手します。
3.ディスプレイを3台用意します。
4.DVI-D,HDMIなどでディスプレイ2台に接続し
5.DisplayPortからアクティブタイプの変換アダプタを経由して3台目のディスプレイを接続します。

ここまで出来ると、

デスクトップ右クリック[画面の解像度]

で3画面の拡張デスクトップが作れるようになります。

[画面の解像度]3画面化 通常使用モード


通常のインターネットブラウジングや地デジの視聴、BlueRayの視聴や、Dixim Digital TV PlusのDLNA視聴、HDCPやCPRMといった著作権保護された動画はこのモードで使用します。

しかし、このモードでは、ゲーム時には1画面しか表示できません。

■Eyefinityディスプレイグループの作成 ~3画面でゲームをするには~

ここで、Eyefinityのディスプレイグループを作成します。
デスクトップ右クリック[Catalyst Control Center]をクリックします。


AMD Eyefinity マルチディスプレイ ディスプレイグループの作成を選択します。

AMD Eyefinity マルチディスプレイ ディスプレイグループの作成

とりあえず真ん中のディスプレイをクリックします。
ここでは③のディスプレイをクリックしています。


[続行]をクリック
ディスプレイグループのレイアウトを選択します。
3画面横長の配置ならば[3ディスプレイ(3x1)]を選択します。

[続行]をクリック

これでディスプレイグループはできたように見えますが、殆どの場合、ディスプレイの配置が実際のディスプレイの位置とことなり、ぐちゃぐちゃになっていると思います。
マウスカーソルを画面の右端に持って行くと左端のディスプレイがマウスカーソルが出てきたりします。
ディスプレイの並び順がおかしくなっていたら次の手順でディスプレイの順番を教えてあげます。
右下緑色のボタン[配置する(&R)]をクリックします。


この画面が表示されて、ディスプレイのどれか1個が全画面青一色に変わります。
その青くなったディスプレイの場所をこの画面でクリックします。
今回の設定ではディスプレイ3個のうち真ん中のディスプレイが真っ青に変わったのでCatalyst Control Centerに表示されているまんなか部分の枠をクリックします(この画像でいうとマウスカーソルの場所)。

もう1回同じ手順で青くなったディスプレイの場所をクリックして指定します。


2回ディスプレイの場所を指定すると、最後の1個は必然的に残りの場所となるので、これでディスプレイグループの設定は完了です。
しかし、実際に使い始めると、これでは少し不便です。
冒頭に述べたように、ディスプレイグループを作成すると、著作権保護された動画の類が表示できなくなります。
Dixim Digital TV Plus
WinDVD/BlueRay
mAgicTV Digital
のような地デジの視聴やブルーレイなどで次のようなエラーが発生します。

Dixim Digita TV Plusの著作権保護
再生(C0262501)
(番組名)を再生できません。再生環境が著作権保護に対応していません。
お使いのパソコンの再生環境を確認して下さい。

mAgicTV Digitalの著作権保護
オーバーレイの取得に失敗しました。
動画再生を行なっているアプリケーションを終了してから、
再度mAgicTVを起動しなおしてください。

これを回避するにはディスプレイグループを解除しなければなりません。
そうなると、ゲームをする時には毎回この手順でディスプレイグループを構成する必要が有り非常に面倒です。
そこで、ディスプレイグループを構成している状態を記憶させ、
ホットキーでEyefinityのモードを切り替えられるようにします。
(ホットキーとは、キーボードの特定のキーの組み合わせで、同時にそのキーを押すことでその機能を実行することができます。この場合は画面モードの切替を行います)


■ディスプレイグループの構成状態の記録とホットキーの割り当て

プリセットから現在の構成状態を記録します。
これで、Eyefinityのディスプレイグループとディスプレイの配置状態、解像度を記録できます。
しかしながら、アイコンの位置は覚えてくれないので、アイコンの位置については他のアプリケーションで記録と復元を行います。(後述)

画面左上[プリセット]-[プリセットを追加]をクリックします。


自分にわかりやすいように名前をつけます。
この[名前]はCatalyst Control Centerのプリセット中に表示される名前です。
[ツールチップ]は、タスクバーの[Catalyst Control Center]アイコンを右クリックした時に表示される[プリセットを起動]中に表示される文字列です。
Catalyst Control Center ツールチップの表示


[v]ホットキーを割り当てる

で、自分が使いやすいキーの配列を指定します。
このキーを押すことでEyeFinityの3画面グループモードに切り替えられす。
例えば[Ctrl]+[Shift]+[F2]のように指定しておきます。
[保存]をクリックします。

さて、これでディスプレイグループは保存出来ました。

次に、ディスプレイグループを解除した状態で同じように、プリセットとホットキーを設定すれば、Eyefinityの設定は終わりです。

ちなみに、ディスプレイグルーを[画面の解像度]で見ると

Eyefinityのディスプレイグループ設定後の画面の解像度

こんな感じになります。
Eyefinityディスプレイグループで作成したデスクトップと設定画面


■アイコンの場所の保存とその復元

おすすめなのは、

IconRestorer
KH DeskKeeper


あたりでしょうか。


■ゲームのEyefinity設定
      EAGames Need for Speed HotPursit
      EAGames Need for Speed The Run

私は主にEAGamesが好きなのでその設定例を説明します。

ゲーム画面中から
[Option]-[Display]

で、現在のディスプレイグループで構築した解像度を指定します。
私の環境では5760x1200なのでそれを選択します。
ほとんどの方は5760x1080になると思います。

2012年5月21日月曜日

Eyefinityで画面キャプチャー Capture STAFF Light

Eyefinityで画面キャプチャー Capture STAFF Light

EyeFinityを使っていると、画面キャプチャソフトで動作しないものが出てきます。
プライマリの画面しかキャプチャ出来ず、エラーが発生したり、うまく取り込めなかったりします。

今まで主に使用していたキャプチャソフトWinShotは、まさにそれで、セカンダリの画面なのではキャプチャできないし。3画面や6画面に広がったデスクトップのキャプチャも出来ません。

たのソフトを試しているときに、Capture STAFF Lightなるものがありまして。これなら多画面のキャプチャも問題なく出来ます。

ショートカットキーの設定もできるので便利なのですが、保存時の画像ファイル名が連番で自動生成するような初期設定で使用していると、パソコンを再起動した後でCapture STAFF Lightを使うと、連番がリセットされてて、通し番号がまた0から始まります。そのため、以前キャプチャした画像をどんどん上書きしてキャプチャしてしまうので、これはまた不便です。

この通し番号が起動するたびにリセットされると不便なときは、その通し番号を保存することが出来ます。こうすることで、次回から続きの番号から保存されます。
[設定]-[動作設定]-[保存]
[v]終了時にインデックス値を保存する


また、キャプチャした画像ファイルの名前を日付と時間にすることで簡単に管理できるようにもなります。
[設定]-[動作設定]-[保存]
イメージ名を変更します。
このイメージ名はいろいろカスタマイズが可能です。


Capture STAFF Light ヘルプより
[使用方法]→[動作設定]
-----
・イメージ名
取り込んだ画像に付けられるデフォルトの名前を指定します。
以下の文字列を指定した場合は右の内容で置換されます。
%F  イメージ名固定部
%I  インデックス値
yyyy 4桁の西暦
yy  2桁の西暦
m  月(1-12) ただしh またはhhの直後の場合はnと同様
mm  月(01-12) ただしh またはhhの直後の場合はnnと同様
d  日付(1 から31)
dd  日付(01 から31 )
h  時間(0-23)
hh  時間(00-23)
n  分(0-59)
nn  分(00-59)
s  秒(0-59)
ss  秒(00-59)
z  ミリ秒(0 ~999)
zzz  ミリ秒(000 ~999)
また、シングル/ダブルクォーテーションで囲まれた文字列は、置換対象であっても置換されません(%F,%Iを除く)。
0.12以前と同様にする場合は%F%Iと指定します。
固定部+年月日時分秒としたい場合は、%Fyyyymmddhhnnssと指定します。
その場合、Image20050101123000といったイメージ名が付与されるようになります。

-----
今回は
yymmdd-hhnnss
のようにしました。
現在時刻が2012/5/21 21:13:01 の時にキャプチャーすると

120521-211300.jpg

のように保存されます。

v


2012年5月19日土曜日

AMD EyeFinity で6画面マルチディスプレイだ!その6 6画面完成!?

AMD EyeFinity で6画面マルチディスプレイだ!その5 EyeFinityで3画面ゲーム NEED FOR SPEED HOT PURSUIT のつづき


とうとう6画面完成と相成りました!

ATI RADEON EAH6950
DisplayPort,DisplayPort,DisplayPort,DisplayPort
DVI-I 白 ,DVI-D 黒


■AMD EyeFinity で6画面マルチディスプレイ

とりあえず家にあるディスプレイをつないでみた。
じゃん!
で、適当に並べてみた(笑)



どど~んと
ひろびろデスクトップのキャプチャです


デスクトップサイズはなんと8640 x 2224

いや。
3画面ができた後で、6画面にするだけなら別に難しくもなかったわけで。。。
なにが大変って。3画面目のDisplayPortからDVIとかへの変換ケーブルのパッシブタイプに激しくハメられること度々ってところでくじけそうになるだけで、そこさえわかってしまえば楽勝でしょう。

アクティブタイプと明記されていない変換ケーブルは買わないことです。


■Radeon EyeFinity6画面パソコンの部品構成

とはいえ、AMD/ATI RADEON EyeFinity6画面のパソコンの構成です。
過去にも紹介しましたとおりで、変更は有りませんが。

Core i7 3930K
          |
ASUS P9X79
          |
ASUS EAH6950
          +---DVID---LDC(RDT262WH 1920x1200)
          +---DVID---HDMI---LCD(X260W HDMI 1920x1200)
          +---DisplayPort--(1)--DVID---HDMI---LCD(TEW260SHR 1920x1200)
          +---DisplayPort--(2)--DVID---LCD(LB19JW03)
          +---DisplayPort--(3)--DVID---LCD(L1952H)
          +---DisplayPort--(4)--DSUB---LCD(PL1902W)
  
(1)~(4)のDisplayPort変換ケーブルは次のものを使用しました。

(1)Accell B087B-005B   DisplayPort→DVID
(2)Accell B087B-005B   DisplayPort→DVID
(3)Accell B087B-005B   DisplayPort→DVID
(4)Accell B087B-003B   DisplayPort→DSUB


■サイズ違いのEyeFinityディスプレイグループ 3 x 2

サイズの異なったディスプレイでEyeFinityを行うとどうなるか。
すべてのディスプレイで表示可能な最大解像度を使い、その画面でディスプレイグループ化します。
つまり、一番小さなディスプレイの解像度に、すべてのディスプレイの解像度が合わされます。
この状態でディスプレイグループにしても解像度の低い巨大画面にしかなりません。
Catalyst Control Centerではこのようになりますが。


[画面の解像度]では3840x2048にしかなりません。
1280x1024のディスプレイ6画面相当として扱われています。





■横長6画面EyeFinityディスプレイグループ 6 x 1

これは出来ません。
横5画面までしか出来ません。
ゲーム利用の場合、真ん中にディスプレイのベゼルが来るような使い方は、結構ゲームに支障をきたすので、そのためでしょうか。



■縦長6画面EyeFinityディスプレイグループ 1x6

これもできません。1x5になります。




■その他のディスプレイグループ

6画面準備していても、実際に利用できるのは次の組み合わせです。

・3x2
・1x5
・5x1
・2x2
・4x1
・1x3
・3x1

1x4 縦長4画面はできないようです。
2x3もだめみたいです。
ただ、このあたりはドライバでどうとでもなりそうなので、今後の改良しだいではこのあたりの制限もなくなってくるかも知れません。

先のEA GamesのNeed for Speed HotpersuitやDeadSpaceはディスプレイグループの設定が必要なものの、このディスプレイグループを使用しないゲームもあるようです。


■液晶ディスプレイの選び方

実際にマルチディスプレイを使ってみて。。。

ゲーム目的でEyeFinityを使用するのに、快適なゲームプレイのためにはいくつかの条件を考えてディスプレイを購入されたほうがよいです。

・同じ画面サイズ
・同じ解像度
・ベゼルはなるべく薄いもの(液晶の枠は結構ゲームの支障になる)
・画面下にスピーカーが無い(ベゼルと同じ理由・画面を2段にするときには)

・1920x1200のように入手が難しい解像度のものを選ばない
・VESAマウントが使えるもの(液晶取り付け穴。2段目以上にはスタンド用の取り付け穴が必須になります)







2012年5月7日月曜日

AMD EyeFinity で6画面マルチディスプレイだ!その5 EyeFinityで3画面ゲーム NEED FOR SPEED HOT PURSUIT

ATI EyeFinityで6画面マルチディズプレイだ!その4 フリーズに悩む
のつづき


いよいよ3画面で動作し始めましたので、その動作状況をアップします。

3画面となるとやはりゲームでしょう。
横長の画面なら大迫力でプレイすることが出来ます。
今回のゲームは、私の大のお気に入り

EA Games
Need for Speed Hot Pursit

Neef for Speedシリーズは、架空のコースを走り抜けるレースゲームです。
絵が綺麗でBGMもかっこよくてハマりまくっています。

ダウンロード そんなに。。。
usのakでok。

■現在のマシン構成
マザーボード ASUS P9X79 LGA2011 メモリ4バンク
CPU Core i7 3930K BX80619I73930K 6コア 12スレッド
ビデオボード ASUS EAH6950 DCII/2DI4S/2GD5 DVI x2 DisplayPort x4! でかい30cm
電源 玄人志向 KRPW-PE700W/88+ 700W
メモリ UMAX 16G
ディスプレイ
 HYUNDAI 1920x1200 25インチ
  MITSUBISHI RDT262WH 1920x1200 25インチ
  Dinner 1920x1200 25インチ
DisplayPort→DVI変換アダプタ

ACCELL DisplayPort to DVI-D Active Single-Link Adapter
B087B-005B


それぞれ

AMD HD6950→DisplayPort→ActiveAdapter→DVI→HDMI→HYUNDAI
AMD HD6950→DVI→MITSUBISHI
AMD HD6950→DVI→Dinner

と言った接続になっています。

■EyeFinityの3画面制限?EyeFinity2画面まで?
いえいえ。そんな事はありません。
EyeFinityの3画面制限とか、2画面までしか表示できないとの情報が流れていますが、DVI、HDMI,DSUB出力のみでは2画面しか表示できません。3画面以上はDisplayPortが必須となり、さらに、DisplayPortへ変換するときもアクティブタイプでなければなりません。変換アダプタには2種類あり、値段の安いDisplayPort変換アダプタはだいたいパッシブタイプなので、2画面以上の出力には使えません。DisplayPortの変換アダプタにパッシブタイプを使った場合、DVIやHDMIと同じ扱いになり全部で2画面までの出力となります。
また、1920x1200はデュアルリンクのアダプタが必要との情報もありますが、画面を見てのとおりシングルリンクで動作しています。


ビデオカメラによる実写画面はこちら。


ヘタクソ。めっちゃぶつかりまくっていますが3画面プレイだとこんな感じです。


実際のゲーム画面はこちら。
画面キャプチャしたものです。
5760x1200サイズを1920x400へと大分縮小していますが、雰囲気は伝わるのではないでしょうか。

ちいさいかなぁ。。
もともと3画面横長のところを1/3サイズにしてアップロードしました。
そしたら、さらに画面が小さくなっちゃった。


 ダウンロード

オープニングからメニューまでが1画面表示で、実際のゲーム画面から3画面になります。
3画面の迫力がつたわるでしょうか。。。



ちなみにキャプチャソフトは画面に出ているBandiCamです。
なかなか高速でMPEG1キャプチャします。
さすがにゲーム中の速度は遅くなりフレームレートが通常60フレームが40あたりまで落ちてしまいますが、ゲームにはさほど支障ありません。
というか、5760x1200のまま縮小せずに動画キャプチャできるとなると、そのプログラムの優秀さは半端ないっす!
無理だと思ってた(^o^;; すっご~い


つづく
AMD EyeFinity で6画面マルチディスプレイだ!その6 6画面完成!?

ATI EyeFinityで6画面マルチディズプレイだ!その4 フリーズに悩む

ATI EyeFinityで6画面マルチディズプレイだ! その3 プロダクトキーが有効ではありません
のつづき

さてさてWindows7は無事インストールされ、WindowsUpdate、Microsoft Security Essentialと
インストール。
Dixim Digital TV Plus等順次インストールし動作確認も兼ねていろいろベンチマークソフトを
インストールしました。

連続通電テストをしてみると、順調に動作しているようでも何か不安定。

ふとしたときに、フリーズしている。

各種チップセットドライバーなどのマザーボード関連ドライバーをアップデートしても状況は変わらず。それぞれ更新したあとで、動作確認するのにも1日2日とかかり。。。
原因もわからずに半分諦めて『まだ初物に近かったか。。。』とガッカリし始めた時に、
マザーボードのBIOSの更新がまだしてなかったことを思い出し。
バージョンアップを試みる。

BIOSのバージョンアップもUSBメモリから、電源投入時に後ろのボタンを押すことでも更新できると。これは、便利になったもんだ。

USBメモリにBIOSの最新版をダウンロードしてきた。

ASUS P9X79 ドライバダウンロード

P9X79の最新版のBIOSが1103。
マザーボードのBIOSの現在のバージョンが0605。ふるっ!


USBメモリにBIOSを入れて、BIOSをの画面からアップデート。
これでもとっても便利。
ブータブルFDを作ろうかと思ってた(爆)

BIOS更新して動作確認に1週間。

特に問題なし!!!

いや順調順調。

嘘のように安定しました。

BIOSの更新でメモリのプロファイルが更新されて安定性が増したようです。

さて、いよいよ(やっと?)EyeFinity実践に入ります。

次回
ATI EyeFinityで6画面マルチディズプレイだ!その5 EyeFinityで3画面へ続く。

2012年5月6日日曜日

ATI EyeFinityで6画面マルチディズプレイだ! その3 プロダクトキーが有効ではありません Windows7 アップグレード版

ATI EyeFinityで6画面マルチディズプレイだ! その2 ビデオボード入りません のつづき

対象:
Windows7 Ultimate Upgrade
Windows7 Professional Upgrade
Windows7 HomePremium Upgrade
Windows7 Home Upgrade


ひと通り動作するようになったので、Windows7のインストールです。

CDからインストールをはじめました。

が、しかーし。

順調に進んだインストールも、プロダクトキーを入力する画面でエラーメッセージが表示される。

The  product key is not valid
プロダクトキーが有効ではありません。
プロダクトキーを再入力してください。

何度も見返して、入力しなおしてもやっぱり
『プロダクトキーが有効ではありません』
と表示が出る。

マイクロソフトにも同じ画像があった。



Windowsのセットアップ
Windowsのプロダクトキーを入力してください。

プロダクトキーは、Windowsのパッケージに同梱されているラベルに記載されています。コンピューターの筐体にラベルが添付されている場合もあります。
ライセンス認証を行うと、プロダクトキーとコンピューターが関連付けられます。

プロダクトキーは次のような形式です。

プロダクトキー:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

(ハイフンは自動的に入力されます)

プロダクトキーが有効ではありません
プロダクトキーを再入力してください。



いやいや。間違いないって!!!!
と言いながら、一文字づつ確認しながら入力するも撃沈。。。
なんだよ!(怒)

インストールしようとしたのはWindows7 HomePremium Upgrade版。
いままでのWindowsだと、アップブレード版ならば、途中で前バージョンのプロダクトキーを
入力すればそのままインストールが継続できましたが、
Windows7からは
【すでにアップグレード対象商品がインストールされていなければならなくなった】
ようです。

Microsoft Answersによる回答
Windows 7 の「プロダクトキーが有効ではありません」と出ます

とはいえ、新パソコン、新ハードディスクにわざわざXPなんぞをインストールしてから、Windows7を入れるなんて、気分的には、新しい家を建てるのにわざわざ古い家の上に新築の家をたてるような、無骨というか非効率というか、気持ちのいいものではない。
やっぱり、新ハードディスクにはWindows7だけを美しくインストールしたい!

なんとかならないかと、いろいろ検索してみたところ、Windows7のインストーラーは、すでにインストールされているWindowsのバージョンをちゃんとチェックしないようで、すでに入っているのがWindows7でもなんとインストール出来てしまうようです。
つまり、アップグーレード版でありながら、前バージョンのWindowsを持っていなくてもインストールが出来るんです。

やってみたら。。。。

たしかにインストール出来ました。

もっとも、XPに上書きインストールしたWindows7が壊れたときの再インストール時には、PC上にWindows7しか見えないわけで、そう考えると正しい動作なんでしょうねぇ。


■手順
①上記の画面まで来たら、プロダクトキーを【記入せず】次へ
②どんどん進み、一応ランセンス認証されていない状態でWindows7がインストールできました。
③再びパソコンを再起動し、Windows7のインストールディスクから起動する
④Windows7のインストールをはじめる。
⑤すでに存在してるWindows7のパーティーションを削除し、パーティーションを作りなおし
⑥新しくできたパーティーションにWindows7をインストールする。
⑦上記の画面でプロダクトキーを記入する。

これで、ライセンス認証が通りました。

ふぅ。


 ATI EyeFinityで6画面マルチディズプレイだ! フリーズに悩む へつづく。