2010-01-18[n年前へ]
■アプリケーション間を繋ぐRubyスクリプトを作るには?
Windows上で動くアプリケーション間を繋ぎたい、と思うことがあります。そんな例のひとつが、たとえば、こんなものになります。
それは、ハードウェアに繋がれたログファイルを定期的に吐き出すアプリケーションがあり、そのハードウェアの状況に応じて、他の制御アプリケーションを通じて他のハードウェアを制御したい、というような場合です。
そんな時、Rubyでこんな具合のスクリプトを組み、対応してしまうことがあります。hoge.txtは、「ハードウェアに繋がれたログファイルを定期的に吐き出すアプリケーション」が刻々出力を行っている「ログファイル」です。
require 'win32GuiTest' open("hoge.txt", "r") do |f| data=f.readlines[f.readlines.length-1] message=$1 if /^hoge:(.+)$/=~data @gui.sendKeys(message+'{ENTER}',1) endつまり、ログファイルの最後の行を読み込み、その出力結果を用いた何かの処理を行い、SendKeys(Win32guitest)で他の(異なる・あるいは同じハードウェアを制御するための)アプリケーションを操作する、という具合です。ここでは、単純のために、捜査対象ウィンドウを最前面に持ってきたり・フォーカスさせる、といった部分は端折っていますが、こんな「その場対応スクリプト」を書いてしまうことがあります。そんな風に対応せざるを得なかったりすることもあります。
ログファイルを出力できないアプリケーション1と、それと全く無関係の、他のアプリケーション2を繋ぐ場合には、どうすれば良いのでしょう。アプリケーション1のウィンドウを監視する・ウィンドウに対するメッセージをフックする、といったことをすれば良いのでしょうか・・・?
2010-03-28[n年前へ]
■「Delphiでキカイを制御する - アプリケーションの設計とテクニック」
高木太郎「Delphiでキカイを制御する - アプリケーションの設計とテクニック」
Delphiを使って外部のハードウェア装置やソフトウェアシステムを制御するアプリケーションを開発する方法を紹介します。このような開発には、第三者の作った変更不可能なDLLを使う必要があったり、外部の装置・システムの応答が遅かったりと、パソコンの中で閉じたアプリケーションとは別の制約があります。その中で、操作しやすい制御アプリケーションを手戻りなく開発するノウハウをお話しします。
2010-05-14[n年前へ]
■RubyでPaSoRi経由でSuicaの乗車履歴を取得し、GoogleMapsやGoogleEarthで表示する
「Ruby を使ってPaSoRi経由でSuicaの乗車履歴を取得し、GoogleMapsやGoogleEarthで表示する」
今回はRubyを使ってPaSoRi経由でSuicaの乗車履歴を取得し、GoogleMapsやGoogleEarth上で表示してみました。以下、その仕組みについて詳しく解説していきます。
いかがでしたか?前回のGainerや今回のPaSoRiといったハードウェアをRubyから制御することによって、アイディア次第で面白い仕組みを比較的簡単に作ることが可能になります。
2010-05-17[n年前へ]
■ハードウェアのサービス・メニューをいじってみよう!?
多くのハードウェア、あるいは、ソフトウェアには「隠された機能」が搭載されているものです。それはたとえば、デバッグや調整をするための特殊メニューといったものです。サービス・メニューとかサービス・モードといった名称で、YouTube内を検索すると、そういった機能をいろいろ眺めることができます。たとえば、トヨタ Lexusのサービス・メニューや、BMWのサービス・メニューといった車に搭載された機器の「隠された機能」や、iPodのサービス・メニューなど、多くの隠された機能を知ることができます。
下の動画は、hpのプリンターに隠されている"Easter Egg"のゲーム機能です。
イースター・エッグ(Easter egg)は、コンピュータのソフトウェア・書籍・CDなどに隠されていて、本来の機能・目的とは無関係であるメッセージや画面の総称。ユーモアの一種。 多くの場合、企画・開発スタッフの一覧などが隠されているが、ゲームなどの場合もある。アニメーションや音楽を伴って表示されることもある。
イースター・エッグ
身の回りにある、ありとあらゆるハードウェア・ソフトウェアに、こうしたサービス・メニューや"Easter Egg"が隠されています。あなたの身の回りにある機器・日頃眺めている機器の”サービス・メニュー”をYouTubeで探してみると面白いかもしれません。秘密のメニューをいじってみれば、まるでスパイ映画の登場人物になったような気持ちになることができるかもしれません。