XULRunnerを使ったWebページキャプチャーの自動化

マイコミジャーナルのFirefoxで自動的にスクリーンキャプチャをとる方法という記事で、XULRunnerを使ってWebページのキャプチャを自動的に取得する方法が紹介されていたので、試してみた。

Webページのキャプチャを自動的に取得するにあたって、Mozilla Automated Website Screen Grabberで配布されているScreen Grabberを使用している。

記事を参考にしてmybrowser.jsとmybrowser.xulに少々手を加えて実行。起動はコマンドプロンプト上で

xulrunner -app application.ini -file c:\imgout\site-list.txt

のように入力して実行するだけ。

実行した結果は、以下の通り。

レンダリングは何ら問題ないのだけれど、Yahoo! JAPANではブラウザのユーザーエージェントを判定しようとして失敗しているのだろう、推奨環境が表示されていた。

で、マイコミジャーナルの記事を読み進めていくと、FirefoxにもXULRunnerが実装されているとのことなので、同様に試してみた。

起動はXULRunnerの時と同様に、コマンドプロンプト上で

firefox -app application.ini -file c:\imgout\site-list.txt

のように入力して実行するだけ。

実行した結果は、以下の通り。

今度はきちんとブラウザのユーザーエージェントが判定されているようで、通常の表示となっていることがわかる。

私が以前作成したWebキャプチャーとは異なり、Flashなどのコンテンツもキャプチャーされている。

このあたりはうらやましい限り(表示はできてるんだけどなぁ……)。

参考

XUL

XULRunner

2010年08月29日(日) 23時30分  

自作液晶ディスプレイモニターを試してみた

前回、ハードオフで中古ルーターを買った時に、以下の写真のような自作液晶ディスプレイモニターを見つけて勢いでゲットしてしまったので試してみた。

値段は、1000円(税抜)也。

状態はジャンク扱いで、「動作しましたが、接触良くないです。800 * 600」とのことだった。

液晶のサイズの割にSVGAの解像度というのがちょっと気になるけれど、とりあえず動くかどうかを確認。

ちなみに構造は、以下のような感じ。

いかにも手作りw

早速試してみたところ、確かに接触が良くないらしく、表示が途切れる。

一旦電源をオフにして(というよりもACアダプタのジャックを引き抜いて)内部の各ソケットの差し込みを一つずつ確認。

案の定、差し込みが浅い(抜けかかっていた)ソケットがあったので、きちんと差し込んで再度電源を入れてみたところ、ちゃんと表示されるようになった。

しかも解像度はXGAだった。ちょっとラッキー。

VGA端子接続のせいなのか、少々表示がにじんで文字が見づらいけれど、一応何かに使えそうな感じ。

ひとまず動いたので満足できたことだし、さて、どういう用途に使おうか。

2010年08月28日(土) 23時16分  

コマンドプロンプトのコマンドライン文字列の制限

メモ書き。

コマンド プロンプト (Cmd.exe) のコマンド ライン文字列の制限より。

Microsoft Windows XP 以降を実行しているコンピュータでは、コマンド プロンプトで使用できる文字列の最大長は 8191 文字です。Microsoft Windows 2000 または Windows NT 4.0 を実行しているコンピュータでは、コマンド プロンプトで使用できる文字列の最大長は 2047 文字です。

文字数=バイト数。

2010年06月26日(土) 21時08分  

携帯サイト構築

 Movable Type、Movable Type Open Source(MTOS)、WordPress比較
  参考: http://www.h-fj.com/blog/archives/2007/06/24-144451.php
 Movable Type
  通常版とオープンソース版がある。
   通常版
    参考: http://www.movabletype.jp/documentation/
     個人ライセンスは無償だが、企業や商用サイトでの使用は有償。

   オープンソース版
    参考: http://www.domo-domo.com/mtos/
     企業や商用サイトでの使用でも無償。

  携帯電話に対応させるには、MT4iという携帯電話向け変換プログラムを使用するのがメジャー。
   携帯電話向け変換プログラム(MT4i)
    参考: http://www.hazama.nu/pukiwiki/index.php?MT4i%2F3.0
 WordPress
  オープンソースのみ。
   参考: http://ja.wordpress.org/

  携帯電話に対応させるには、Ktai Styleという携帯対応プラグインを使用するのがメジャー。
   携帯対応プラグイン(Ktai Style)
    参考: http://wppluginsj.sourceforge.jp/ktai_style/

2010年04月15日(木) 00時00分  

QRコードを読み取って、空メールを送信

2010年04月14日(水) 22時36分  

QRコード生成

http://www.code-life.jp/js/qrcode.html

2010年04月13日(火) 18時52分  

QRコード生成(拾い物)

http://www.code-life.jp/js/qrcode/

2010年04月09日(金) 15時46分  

制限付きユーザーから管理者のユーザー権限でプログラムを実行する

Windowsに制限付きユーザーでログインしている時に管理者のユーザー権限でプログラムを実行したい場合、コンテキストメニューから「別のユーザーとして実行(A)…」を選択するか、runasコマンドを使う。

runasコマンドの基本的な使い方は、以下の通り。

runas /user:ユーザー名 プログラム

詳しい使い方はrunas /?に譲るとして、大抵の場合、管理者のユーザー権限でプログラムを実行したい場合は、ユーザーのパスワードの入力が必要となる。

JScriptを使って管理者のユーザー権限でプログラムを実行し、パスワードを自動的に入力したい場合は、以下のようなスクリプトになる。

var userFile = "user.txt";
var passFile = "pass.txt";
var args = WScript.Arguments;

if (args.length != 1) {
    WScript.Quit(1);
}

var AppPath		= args(0);
var AppExecUserName	= getTextFileData(userFile);
var AppExecUserPass	= getTextFileData(passFile);

//実行したいプログラムを指定する。
//runasコマンドのコマンドラインオプションは、"runas /?"を参照
var WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run("runas /user:" + AppExecUserName + " " + AppPath + " ", 2);
//savecred
delayedSendKeys(AppExecUserPass);

//実行するパスワードを送信
function delayedSendKeys(str) {
    WScript.Sleep(300);
    for (var i = 0; i < str.length; i++) {
        WScript.Sleep(100);
        WshShell.SendKeys(str.substring(i, i + 1));
    }
    WScript.Sleep(300);
    WshShell.SendKeys("{enter}");
}

function getTextFileData(fileName) {
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    var s = fso.OpenTextFile(fileName, 1, false).ReadAll();
    return s;
}

パスワードの自動入力は、SendKeysで行なっている。

このスクリプトを使うと、管理者のユーザー権限とパスワードが設定済みならば、制限付きユーザーであってもほぼ何でも実行できてしまうようになるので、スクリプトの取り扱い(特に利用環境)とパスワードの漏洩には十分に注意しましょう。使用する場合は、自己責任で。

このJScriptを一歩進めてExcelVBAで実装してみると、以下のような感じになった。

パスワードの管理がほんの少しだけましになるけれど、やっぱり取り扱いには十分な注意が必要。

2010年03月13日(土) 23時53分  

Webサーバーを変更しますたよ

今まで自作アプリとかをアップロードしていたWebサーバー(ラクーカン)の契約が先月末で終了していることをうっかり忘れていたorz。

今月1日から今日までの間に、過去のエントリで紹介していたWebキャプチャーとかアプリケーションの動作検証Flashとかを見ようとして見れなかった方々(って、いたのか調べようがありませんがw)、大変申し訳ありませんでした。はい。

本日、さくらインターネットと契約して該当コンテンツを再アップロードしたので、見れるようになっていると思います。

しばらく様子を見て、特に問題がなさそうならば、当サイトもさくらインターネットへ移転することも検討します。

2010年03月03日(水) 23時39分