高解像度でも常に最大化したい人向けのソフト
[Win32プログラミング] [Windows]
'08/01/01(火曜日)05:34:58「高解像度でも常に最大化したい人向けのソフト」を紹介するという記事ではなく、それはどんなソフトなのかをできれば教えてほしいという記事です。つまり、私自身がもろにそういう人で、まさに困っているけれどもどうすれば快適になれるかがわからない、ということです。
これまで、ほぼすべてのWindowsアプリを「最大化」の状態で使い続けてきた私にとって、WUXGAは強敵です。最大化しても横がムダにあいてしまうんだもん。(こんな感じ) そんなわけで今までに試しに2つほど支援アプリを作ってみたんですが、どうもしっくりこないんですよねぇ。。
最初作ったのは、WUXGAのモニタ1つを(960*1200)のモニタ2つっぽい感じにごまかそうとしたものです。つまり「最大化」しても画面の半分に張り付くようにしようっていうやつです。グローバルフックで画面変更系を横取りし「最大化」メッセージがきたときに書き換えるようなやつ。グローバルフックでは最大化する領域情報の書き換えをしても反映されないらしいので、「最大化」メッセージがきたときにサブクラス化してアプリ内プロシージャを載っとり、んで WM_GETMINMAXINFO のときにごにょごにょしたれと。些細なことを実現するために嫌らしいとこをたくさん対処する必要があり、またタイミングによってうまく動いてくれなかったり、よくよく考えると排他の仕組みを厳重にやらないと大変なことになりうるアプリだと気づかされたりと、今のところ完成できず。キーワードはこの辺、SetWindowsHookEx, WH_CBT, HCBT_MINMAX, RegisterSubClass, WM_GETMINMAXINFO, SM_CXMAXIMIZED
次に作ったのは、仮想的なタスクバーを追加したれっていうソフトです。「最大化」するときはタスクバーの領域は除外されるので、それを逆手にとり、仮想的なタスクバー(=AppBar)を追加してそこは IM系を並べるという方向です。作り始めてから気づいたんですが、それって今はやりの "Sidebar" (ガジェットと呼んだ方がいいか?) となんら代わりがないんですよねぇ。。まぁSidebarほど大げさなものじゃなくていいやということで作ってみたんですが、AppBar部分として登録された領域は、たとえそこにアプリの窓が存在しなくても特別扱いされるらしく、マウスイベントが特別処理されてしまうっぽいです。具体的には、他のアプリをドラッグ中はタスクバー(AppBar)領域に入れないとか。タスクバー周りのメッセージの挙動をちゃんと理解しないといけないっぽそうってことで、今のところ完成できず。キーワードはこの辺、Appbar, SHAppBarMessage, タスクバーみたいなウインドウ
常に最大化するという思想が低解像度デスクトップの卑しい思想なのか、ワイド画面買ったらとっととVistaでガジェット使えというMS様のお教えなのか、今もWUXGA画面を前に右往左往する日々が続いております。
Virtual PC 2007にFC6入れた
[Windows] [パソコン一般]
'07/09/02(日曜日)02:55:34ホストOSWinXPSP2(Pro)のMicrosoft Virtual PC 2007にFC6(Fecore Core 6 i386)を入れた。いろいろトラブったのでメモしておく。
まず画面がおかしい。 Xがおかしくて絶望的な画面が出たりする。とりあえずインストーラ起動時に「linux text」とかしてインストールを実行。インストール後 X が動くとまた変な画面になるので、起動時にgrub上で「kernel single」を追加するか、起動後に「Ctrl-Alt-F2」してtextモードにする。んで、/etc/X11/xorg.conf で画面の色を24bitから16bitに変更すればOK。VirtualPC2007が24bitに対応していないのが根本原因らしい。
Xを入れない環境でkernelをアップデートすると画面がおかしくなる。新しいKernelがVirtualPCに対応していないだとかなんとか。grub.confで「kernel vesa video=vesafb」とか追加するととりあえずOKになった。どうせ3Dとか使わんから、これでいいっしょ。
コンソールでも高解像度が使いたい。grub.confで「kernel vga=771」とか追加すると 800x600x8bit になってくれるらしい。意味合い的には「kernel vga=0x303」の方がいいらしいが、現状でちゃんと動いているのでもう触らないことにする。別の解像度・色深度にするなら数値を変えてちょ。
Fedoraとは関係ないんだろうけど、シリアル(COM)がなにかおかしい。ホスト上につながったUSB-Serial(pl-2303)がホスト上でCOM5と認識されて、VirtualPC上でゲストCOM1を物理PCのCOM5へとマップ設定し、んでゲストOS(FC6)でgdbベースのデバッガを/dev/ttyS0設定で動かし、USB-Serialの先のターゲットにつなごうとしてんだけど、なんか一部のデータを取りこぼしてるっぽい挙動になってる。BreaksPointちゃんと張れないとか。
USB-Serialのモノ自体は仮想環境じゃないFC6で同じgdbベースのデバッガ使ってつながってるので問題なさそう。ということで、Winのpl-2303用ドライバかVirutalPCのシリアルマッピング部がおかしいと思われるが、普通に考えるとドライバの方が疑いが濃いってことで、Prolificから最新ドライバ落としてきたりしてるがやっぱおかしいなぁ。デバマネ上のドライバのCOM設定を一通り触ったりしてるがどうもわからん。これができると作業で大幅に楽できるだけに、うまくいくまであきらめたくないとがんばって、結局半日ムダにして仕事進まなかったのはここだけの内緒ってことで。
rarul > どうやら、VirtualPCのCOMマッピングが悪いっぽい。 VMware playerなら問題なくいけた。 ('08/02/01(金曜日)00:58:06)
Vistaブートローダに関するメモ
[Linux] [Windows]
'07/03/26(月曜日)02:18:03Windows Vista では、従来の Windows XP (と2000、NT4.0も含んでたはず) で使われてきた Ntdetect.com/NTLDR/Boot.ini とかを使った ブートマネジャーから変更され、BCDとかなんとかいうやつに変更された。その影響で、Vista と XP のデュアルブートを構築するときにいろいろと面倒なことに直面する可能性がある。以前のバージョンの Windows オペレーティング システムをデュアルブート構成でインストールした後、Windows Vista が起動しなくなる
Vista のやつをMBRに入れるには、Vista の インストールDVDからブートして、インストールではなく修復を選び、んで「bootrec.exe」を実行すればよい。「bootrec /fixmbr」とか「bootrec /rebuildbcd」とかそんな感じのはず。
ブートセクタを書き直すには、WinXP/Vista 上から VistaのインストールDVD内にある bootsect を実行する。「Q:\boot\Bootsect.exe -NT60 All」とかそんな感じで。-NT5.2 とすると XP互換のものを入れてくれるはず。
ブート時のメニューをさわるにはVista上で「bcdedit」を使う。従来の boot.ini の編集に相当する。パラメータの設定とかは忘れた。Vista上のmsconfig メニューからの編集もほとんどできないに等しいのでいろいろと面倒だ。
ここから下は蛇足。
上のようなことを得て Vista/XPデュアルブート環境を作っていたが、何を血迷ったか Linux (Fedora Core 6)を入れようと思ってしまった。しかもUSB接続のHDDに。必然的にGrub(MBRとブートマネジャーとも)を使うことになるけど、さらに何を勘違いしたのか GrubのStage2をUSB接続のHDDへと入れてしまった。おかげでUSB接続のHDDをつないでいないとGrubのブートメニューすら出せない状態にしてしまった。しかもGA-965p-ds4ベースのPCじゃ、デフォ設定ではインストール中もインストール後の起動時も固まるし。(固まるとIRQかなにかをおかしくするのかWindowsすら起動しなくなってしまいCMOSクリアしないと復帰しなかった、よくわからん。) で、MBRとかを元に戻そうとVistaを起動しようとするといきなり「アクティベーション認証」とかいわれて、認証しないと起動させてくれないし、しかもCMOSクリアで時刻がずれていたために認証が通らなかったし。linuxは ich8使ってる場合は noapic nolapic irqpoll とパラメータをつければたぶん大丈夫だろうけど、これでインストールはできたものの、起動はまだ試してない。という感じでいろいろとトラブった。
まぁあれだ、オレにはよくわからん世界だ。変なことしない方がよかった。
レジストリを甘く見ていた
[Windows] [日常]
'06/09/18(月曜日)22:35:07WindowsUpdateに出てたネットワークドライバでアップデート
→なんか調子が悪くなる(TCPが突然切れるなど)
ドライバを元に戻す
→元に戻らん・・・デバイスを消しても新しいドライバを入れようとしやがる
System32\ 以下にあるそれっぽいファイルを消しまくる
→それでも新しいドライバで認識する
Regedit で それっぽい箇所を消しまくってみる
→ネットワークデバイスが認識されなくなってしまった(デバイスマネジャー上で「?」だらけ)
Windows の インストール CD で修復しようとする
→修復途中で固まりやがる、ヤバイ、完全にヤバイ
アップグレードインストールで対処しようとしてみる
→ネットワークデバイスドライバのアップグレードの箇所で止まった。もうダメだ。
あきらめてクリーンインスコすることにする
・初期ブートとフォーマット
・インストール
・WindowsUpdate と ドライバのインストール
・周辺機器ドライバ・アプリのインストール
・開発ツールのインストール(Javaとか) ← 今ここ。Borland C++ Compiler 落とそうとしてて Borland の FTP サーバが死んでてキレてるとこ
・Adobe Reader, Flash Player, Reaplayer, Winamp, Quicktime などなど
・そのほかのアプリのインストール
これでここ2年で10回以上クリーンインストールしてる気がするが、気にしないことにする。
サブ PC で入れ直すのはよくあるだろうが、メイン PC でここまでするやつはそうはいないだろう。
テレビからチューナが消える時代は来るのか
[Windows] [インターネット一般] [デジタルテレビ] [パソコン一般]
'05/11/19(土曜日)02:33:37[BroadBandウォッチ] 無料で映画やドラマが見られる「GyaO」ってどんなサービス? (おしえてブロードバンド)
無料で従来のテレビ番組なみのコンテンツを見られるってことでサービス開始後一躍有名になったGyaoとはいったいなんなのかを解説する記事です。Gyao自体は今更改めて説明するまでもないんですが、この記事でちょっと気になることが書かれていたのでそれをピックアップ。
現状ではWindows Media PlayerのDRMを使ったライセンスに基づく視聴制限を入れている影響で、WindowsでかつWindows Media Player(の9あたり)が視聴する条件になってます。そのことも上の記事で解説されてますが、それをふまえた上で書かれている文章がこれ。
現在はPCでしか見られないGyaOですが、10月からWindows XP Media Center Edition 2005向けのオンラインサービス「メディアオンライン」としてサービスを開始しました。メディアオンラインは12月10日発売の次世代ゲーム機「Xbox 360」にも対応しています。
MCEの「メディアオンライン」に対応ってことだけでピンと来なかった私は、MCEの普及していない日本に住んでいる悪い面を享受しているのかもしれません。重要なのは、そこに続くXbox 360がメディアオンラインに対応しているという事実でしょう。
つまり、ネットワークにつながったXbox 360とディスプレイとしてのテレビがあればGyaoの番組を楽しめるようになります。もちろん無料で。これはかなり脅威になるんじゃないでしょうか。
テレビってのは、いい意味でも悪い意味でも映像を映し出すディスプレイでしかないです。その事実を突き詰めて、テレビからチューナの役割を取り除くという方向の発展の模索が行われてきました。が、現状では少なくともチューナなしにテレビとは呼べないということになります。
Xbox 360をテレビチューナの代わりと見なしインターネットを電波に代わる放送用の通信路と見なしたとしましょう。Xbox 360とテレビ機で見るGyaoの番組と、電波に乗ってやってくるテレビ局自身が流すテレビ番組と、何が違うと言うことになるんでしょうか。まぁ今はコンテンツが違うでしょう。じゃ、既存のテレビ局自身がGyaoと同じようなサービス体型でインターネット越しに番組を流し始めたとしましょう。もはや違いがなくなります。放送と通信の融合とか悠長なことを言っている間に、通信が放送を亡き者としてしまいかねないです。
現状じゃ画質面で大きな違いがあるともいえます。デジタル化された電波による放送ではハイビジョン画質による放送が行われています。が、これとてたかだか30Mbps程度です。・・・たかだかか?現状ではコンスタントに出すにはきつい帯域かもね。これが優位性ってことになるんでしょう。しかし、その優位性を生かしたハイビジョン画質番組って、現状じゃデジタル放送ではあまりなされていないというもったいない事情もあります。ハイビジョンじゃないなら、Gyaoのようなインターネット経由でコンテンツ取得すればいいわけですね。Gyaoだと、番組飛ばしたりジャンルを選べたり放送時間にとらわれなかったりと、電波による放送と比べて有利な点もありますし。電波によるデジタル放送の特徴である多チャンネル化やデータ放送なんて、インターネット経由の方が遙かに有利でしょう。
今後、ハイビジョンなど電波放送の方がまだ有利である一部の点も覆されるようであれば、もはや電波経由による画一的な放送は優位性を失うでしょう。そのときテレビからチューナが消えます。チューナが必要でなくなります。Xbox 360のような通信端末さえあればいいんで。
このとき、現状のテレビ局ほどの力を持つのはどこなんでしょうか。Gyaoのようなコンテンツ配信ポータルとコンテンツを作っているところがまずあがります。が、実はここでDRMを支配しているMicrosoftの力が及んでいることがわかります。今で言うところのコピーワンスの仕組み(B-CAS)にあたるものを支配していることになります。それってどうなんよ?
コンテンツ囲い込みとしては、HD DVDとBlu-rayの争いが思い浮かびます。この争いって、結局(ハリウッドやディズニーなどの)コンテンツホルダーを味方につける争いといっても過言じゃないでしょう。Microsoftほどの大会社なら、日本メーカ主導のHD DVDとBlu-rayの争いなんてあまりうれしくなく、自社の規格を作って争いに参入しても良さそうなもんです。現状ではHD DVD側につくという立場しか取ってません。アメリカじゃシリコンバレー組は憎きハリウッドってことで、あまりべったりと味方に引き入れる争いに加わりたくないという信条もあるんでしょう。しかし実は、HD DVDやBlu-rayなどの物理メディアを媒体とするコンテンツ流通の時代はもう終わりインターネット経由での放送がその先に来るであろう、と予測しているのに他ならないのかもしれません。
まぁ「ここにもMSの影が!!」と言いたかっただけです。