20090429

MortScript4.2の不具合について

Last Update : 04/May/09
MortScriptをv4.2にアップデイトしてみました」で上手く動かないとご報告したMortScript4.2ですが、検証してみた結果、日本語のウインドウタイトルを指定するとエラーになるケースがある様です。

問題が発生するのは「ニュース・天気予報・PodcastをMortScriptとRunATで自動巡回する」でご紹介したスクリプトです。


#Morning4.mscr

#Podcast、天気予報、ニュースサイト自動巡回スクリプト(Ver4.11)

#設定#################################################

#↓使用するアプリケーションとフォルダ

exe1 = "\program files\Wifictrl.exe"
exe2 = "\program files\harddial.exe"
exe3 = "\program files\JWezWM\JWezWM.exe"
exe4 = "\program files\RSS Ticker Today\RSSCruise.exe"
exe5 = "\Program files\03RSSReader\03RSSReader.exe"
exe6 = "\program files\BeyondPod\BeyondPod.exe"

#↓Sleep値の調整(マイクロ秒)
WaitL = 5000
WaitS = 1000

#↓ウインドウタイトル
title0 = "03RSSリーダー"
title1 = "All Feeds"

#↓Podcastのダウンロード終了を示すウインドウタイトル(適宜追加)
#"title10"、"title11"は変数として使用済
title2 = "Downloaded"
title3 = "Nothing to Download!"
title4 = "Update Completed!"

#↓Podcastのダウンロード時間のMAX値(分)を設定
timeout1 = 20

#↓#RSSリーダーのダウンロード時間のMAX値(分)を設定
timeout2 = 2

#スクリプト開始#######################################

#画面On(サスペンドから復帰)
ToggleDisplay(1)
Sleep(WaitL)

#外部電源に接続している場合のみPodcastを巡回
If(ExternalPowered())

  #無線LANをOn
  Run(exe1, "on")
  Sleep(WaitL)

  #Beyondpodの自動巡回#########################

  #BeyondPodを立ち上げウインドウがアクティブになるまで最大60秒待つ
  Run(exe6)
  WaitForActive(title1, 60)

  #全てのフィードを更新
  SendRightSoft(title1)
  Sleep(WaitS)
  SendKeys(title1, "U")
  Sleep(WaitS)
  SendKeys(title1, "A")

  #タイムアウト時間をカウント
  startingtime = TimeStamp()
  While(TimeStamp() < startingtime + timeout1 * 60)

    #"title2"ウインドウが存在したらBeyondpodを終了し次の巡回用サブルーチンへ
    If(WndExists(title2))
      SendRightSoft(title2)
      Sleep(WaitS)
      SendKeys(title2, "E")
      Sleep(WaitS)
      Call("others")
    Else
    Endif

    #"title3"ウインドウが存在したらBeyondpodを終了し次の巡回用サブルーチンへ
    If(WndExists(title3))
      SendRightSoft(title3)
      Sleep(WaitS)
      SendKeys(title3, "E")
      Sleep(WaitS)
      Call("others")
    Else
    Endif

    #"title4"ウインドウが存在したらBeyondpodを終了し次の巡回用サブルーチンへ
    If(WndExists(title4))
      SendRightSoft(title4)
      Sleep(WaitS)
      SendKeys(title4, "E")
      Sleep(WaitS)
      Call("others")
    Else
    Endif

    #BeyondPodが手動で終了されたらスクリプト終了用サブルーチンへ
    If(ProcExists(exe6))

    Else
      Sleep(WaitL)
      Call("endofscript")
    Endif
  EndWhile

  #タイムアウトの場合はBeyondpodを終了
  #次の巡回用サブルーチンへ
  Run(exe6)
  Sleep(WaitS)
  SendRightSoft()
  Sleep(WaitS)
  SendKeys(, "E")
  Sleep(WaitL)
  Call("others")

Else
  Call("others")
Endif

Exit

Sub others

  #JWezWMの自動巡回#############################
  RunWait(exe3, "auto")

  #RSSTickerTodayの自動巡回#####################
  RunWait(exe4)

  #03RSSリーダーの自動巡回######################

  #03RSSリーダーが起動していればウインドウをアクティブに、起動していなければ実行
  If(WndExists(title0))
    Show(title0)
  Else
    Run(exe5)
  EndIf

  #03RSSリーダーのウインドウがアクティブになるまで最大60秒待つ
  WaitForActive(title0, 60)

  #更新チェック
  SendRightSoft(title0)
  Sleep(WaitS)
  SendKeys(title0, "A")
  Sleep(WaitS)
  SendLeftSoft(title0)
  Sleep(WaitS)
  SendCR("確認")

  #ダウンロード終了待ち
  Sleep(timeout2 * 60000)

  #03RSSリーダーをアクティブに
  Show(title0)

  #03RSSリーダーのウインドウがアクティブになるまで最大60秒待つ
  WaitForActive(title0, 60)

  #03RSSリーダーを終了しスクリプト終了用サブルーチンへ
  SendRightSoft(title0)
  Sleep(WaitS)
  SendKeys(title0, "E")
  WaitFor("終了の確認", 10)
  SendCR("終了の確認")
  Sleep(WaitL)
  Call("endofscript")

EndSub

Sub endofscript

  #接続切断用サブルーチン
  #無線LANとダイアルアップを切断し画面を再描写してスクリプトを終了
  Run(exe1, "off")
  Sleep(WaitS)
  Run(exe2, "-off")
  RedrawToday
  Exit
EndSub

#スクリプト終了

03RSSリーダーの更新チェックの「SendCR("確認")」のところ(赤字部分)で「ウインドウが見つからない(Window '確認' could not be found)」というエラーになってしまいます。

スクリプトを変更してウインドウタイトルを指定しないでキーストロークを送るという対策も考えられますが、誤作動の可能性がありますし、従来のv4.1の機能で特に問題ありませんので、v4.1を使い続ける事にしました。

なお、「QDzのデータ更新を簡単に」「RSSリーダーから辞書をいっぱつ検索するMortScript」「AlarmClockの設定状態をToday画面に表示する」でご紹介しているスクリプトには日本語のウインドウタイトルを指定している部分はありませんので、v4.2でも問題無く動作します。

・MortScript
http://www.sto-helit.de/index.php?module=page&entry=ms_overview&action=view&menu=29

・MortScript まとめ&マニュアル要訳
http://home.att.ne.jp/wave/deox_pop/mortscript.html#1

以上

20090428

RSS Ticker Todayが2.0.0.1にアップデイトされました

Last Update : 28/Apr/09
RSS Ticker TodayとRunATでフィードを自動巡回してToday画面にTicker表示する」でご紹介しているRSS Ticker Todayがアップデイトされました。

・RSS Ticker Today 2.0.0.1
http://d.hatena.ne.jp/tmyt/

【変更箇所】
>アイテムの高さ計算を変更
>フィードリストでスター付きアイテムを時系列順にソートするよう変更
>'更新' を 'すべて更新' に表現変更
>フィードリストからフィード単体を更新する機能を追加
>フィードリスト右ソフトキーメニューの内容を充実
>プラグインがリロードされた際にデータベースにアクセス出来なくなる
>ことがあある不具合を修正
>スレッド間の同期処理を追加
>詳細表示で内容がおかしくなることがある不具合を修正
>Todayがリロードされたときアクセス違反することがある不具合を修正
(改行位置変更しました)

アドエスで使用しているソフト一覧」も更新済みです。

以上

20090427

SortInchKeyの置き換えアプリとなるのか気になるWMKeyCmd

Last Update : 29/Apr/09
Windows Mobile機のキー割り当てを設定・変更するアプリWMKeyCmdがリリースされています。


・WMKeyCmd
http://kamareinu.seesaa.net/article/117316511.html

SortInchKeyと同等の機能と幾つかの追加機能を判りやすいユーザーインターフェースにまとめたアプリです。

ダウンロードサイトの説明も判り易く丁寧に記述されています。

>・各キーについて、アプリ起動や別のキー送出を割り当て
>・複数キーの同時押しをサポート(最大4キー同時押しまで設定可能)
>・キーのキャプチャ機能があるため、キーのコードが分からなくてもOK
>・システム全体でIMEのON/OFFを切り替える機能
>・アプリごとに割り当てを変えることも可能

>

WMKeyCmdをバックグラウンドで実行中に二重起動すると設定ダイアログが開く筈なのですが、残念ながら、当方の環境では二重起動しても何も起こらず、キー割り当ての追加・変更が出来ませんでした。

うまく動作すれば、内蔵のキーキャプチャ機能や判りやすいインターフェースがWindows Mobile機導入への敷居を下げるキラーアプリになるかも知れません。

将来が楽しみなアプリのひとつです。

以上

Google Maps for Mobileが3.0.1.5にアップデイトされています

Last Update : 27/Apr/09
Google Maps for Mobileがアップデイトされています。

・Google Maps 3.0.1.5
http://www.google.com/gmm
(端末のInternet Explorer Mobileから)

変更点はバグフィックスのみの様です。

【変更箇所】
>version 3.0.1.5 was released on April 22 to fix a bug
>that broke background location updates on Symbian S60 devices
>and caused some inconsistency issues on Windows Mobile devices.
(改行位置変更しました)

アドエスで使用しているソフト一覧」も更新済みです。

以上

20090426

Redfly Mobile Viewerをアドエスで試してみました

Last Update : 27/Apr/09
Redfly Mobile Viewerの60日試用版をアドエスで試してみました。


Redfly Mobile ViewerはUSBケーブルでActivsync接続したPCの画面上にWindows Mobileの画面を表示してキーボードから操作出来るソフトウェアです。

MyMobilerと似ていますが、PC上に表示する画面の解像度をWindows Mobileの解像度よりも大きく指定出来て画面をより広く使える点が異なります。

【使用するソフト】

・Redfly Mobile Viewer
http://www.celiocorp.com/

【インストール】

Celio社のWebサイトからPhone DriverとRedfly Mobile Viewerを入手します。

各々のファイルのDownloadボタンから進んだ画面で利用条件に同意してメールアドレスを登録すると、ダウンロード用のリンクが添付されたメールが送られてきます。

Phone DriverはCAB形式ですので、端末にコピーしてファイラー等から実行するとインストールされます。

PC側のアプリは実行ファイル(.exe)形式ですので、実行するとインストーラーが立ち上がります。

【設定】

起動画面はこんな感じです。


「Connect」ボタンを押すとWindows Mobileの画面が表示されます。


PC側のアプリからは「Tool」「Option」で「General」と「Keyboard」が設定出来ます。

「General」ではツールバーを自動的に隠したりアイコンの名称の表示/非表示を設定したり出来ます。


「Keyboard」ではHotKeyの設定が出来ます。


メニューからは画面解像度も選択出来ますが、全て横長の画面となっています。


端末側での設定は「メニュー」=>「設定」=>「システム」の「REDFLY Settings」から行います。

「Bluetooth」「Input」「Batt Power」「Ext Power」「Hot Keys」「Advanced」「Licensing」「Performance」「About」のタブがあります。


【使用方法】

PCの画面とキーボードから通常の操作と同様に端末が操作出来ます。


PC側のキーボードから日本語入力も出来ますが、文字の種類(半角/全角等)の選択はWindows Mobile側のSIPで設定する必要があります。


但し、インターネットへのPC経由の接続は出来ない様で「プロキシサーバが見つかりませんでした」という警告が出てしまいました。


動作スピードはややもたつく程度で、実用には耐えると思います。

追記;
Redfly Mobile Viewerをアドエスに標準のSprite Backupと併用したところ不具合が出てしまいました。

Sprite Backupはバックアップの前後に端末を再起動するのですが、Redflyのドライバを端末にインストールしていると再起動時にハングアップしてしまいます。

以上

20090417

QuickMenuに登録しているアプリ一覧

Last Update : 27/Oct/09
スタートメニューをQuickMenuに置き換えてプルダウン&階層表示する」でご紹介したQuickMenuには「QuickMenuで階層表示させる為のフォルダ構成」でご紹介したフォルダ構成で2階層5グループに75個のショートカットを登録しています。

使用頻度の高いアプリを上位に表示したり類似のアプリを隣り合わせて表示したりしたいので、表示順を任意に設定する為に、ショートカットの先頭に括弧で囲ったアルファベット1文字を付けています。

①「Multimedia」フォルダ

ショートカットを18個置いています。


ブラウザ、メールアプリ、通信用のアプリ、ビュアーのショートカットを置いています。

②「Business」フォルダ

ショートカットを14個置いています。


仕事で使用するアプリが主ですが、勉強用のアプリもこのフォルダに登録しています。

標準の「連絡先」はQDzに置き換えてしまっていて普段は全く使っていないのですが、念の為、ショートカットを置いてメニューからも起動出来る様にしています。

「電卓」は標準の電卓ではなく片手間電卓のショートカットです。

③「Travel」フォルダ

ショートカットを10個置いています。


地図、ナビ、時刻表、乗り換え検索、周辺情報検索用のアプリのショートカットを置いています。

「中央線XXXX」は「SandGlassを使って良く使うアラームのパターンをショートカットに登録する」でご紹介したSand Glassで作成した乗り越し防止用のタイマーのショートカットです。

④「Utility」フォルダ

ショートカットを16個置いています。


バックアップツール、ファイラやその他ユーティリティは纏めてこのフォルダに登録しています。

⑤「Customize」フォルダ

ショートカットを19個置いています。


アドエスのカスタマイズに使用するアプリのショートカットをこのフォルダに纏めて置いています。

その他のカスタマイズ例については「アドエスのカスタマイズまとめ」をご参照ください。

以上

20090414

RECOZEROver1.3.0がリリースされています

Last Update : 14/Apr/09
高圧縮なボイスレコーダソフトRECOZERO」でご紹介したRECOZEROがアップデイトされています。

・RECOZERO 1.3.0
http://gravemoon.hp.infoseek.co.jp/

>Speex の録音・再生に対応しました。44100hzの音声圧縮録音が
>できます。
>リニア PCM(Wav ファイル)の録音・再生に対応しました。
>録音・再生時にサスペンドを防止する設定を追加しました。
>録音開始直後と録音中に自動で画面消灯を行う設定を追加しました。
>録音シーンを追加しました。8 つまでのシーンに録音品質を設定
>しておき、録音画面で録音状況に合わせたシーンを選択して録音
>します。
(改行位置変更しました)

アドエスで使用しているソフト一覧」も更新済みです。

以上

20090410

Google Maps for Mobileがver3.0.1.4.にアップデイトされています

Last Update : 11/Apr/09
Google Maps for Mobileがアップデイトされました。

Google Maps 3.0.1.4
http://www.google.com/gmm
(端末のInternet Explorer Mobileから)


タップ&ホールドした時のメニューのデザインが少し変更されている様です。

また、GPSを搭載していないアドエスでも無線LAN使用時には現在位置機能が有効になる様です。

gmm_navi Autoを使ってGoogle Maps for Mobileで現在位置を表示する」でご紹介しているgmm_navi Autoも問題なく動作しました。

アドエスで使用しているソフト一覧」も更新済みです。

以上

20090404

アドエスの常駐ソフトのCPU占有率とメモリー消費量

Last Update : 01/Jul/09
アドエスに常駐させているソフトのメモリー消費量とCPU占有率を調べてみました。


今回はTaskMgrを使用しました。

・TaskMgr
http://www.dotfred.net/TaskMgr.htm

常駐ソフトのメモリ消費量とCPU占有率

ProcessMemory UsageCPU Usage
1回目2回目
MortScript17kb1.191.09
MenuKeyHelper1kb0.460.27
SortInchKey2kb--
notifook1kb--
XcrawlEX55kb0.180.36
ChgSuisoku1kb0.641.46
QuickMenu772kb--
QDz59kb0.09-
lock2suspend1kb--
AtokSetP56kb0.180.18
NoConfirmDial1kb0.090.55

AlarmClockの設定状態をToday画面に表示する」でご紹介した様にMortScriptを無限ループにして常駐させているので、パフォーマンスに影響が出ていないか心配だったのですが、標準ソフトのメモリー消費量と比較してみても問題無さそうです。

標準ソフトのメモリ消費量(抜粋)

ProcessMemory Usage
tmail41kb
lightmail
204kb
Denwa114kb
gwes5025kb
device1284kb
filesys1728kb


追記1;
現在は、「cmdRegistryNotifyAppを使ってAlarmClockの設定状態をToday画面に表示する」と「cmdRegistryNotifyAppとMostScriptでKeyLockSuspenderを置き換える」でご紹介した方法を採用しており、MortScriptKeyLockSuspenderは常駐させていません。

追記2;
AtokSetPlusは機能拡張に伴い[es]plusに名称変更されています。
詳しくは「AtokSetPlusを[es]plusに入れ替えてみました」をご参照ください。

その他のカスタマイズ例については「アドエスのカスタマイズまとめ」をご参照ください。

以上

20090402

AlarmClockの設定状態をToday画面に表示する

Last Update : 19/Jun/09
シンプルなアラーム機能のAlarmClock」でご紹介したAlarmClockは設定や操作が簡単で使い易いのですが、アラームの設定状態を確認する為にはソフトを再起動させる必要があります。

そこで、MortScriptを使ってアドエスのToday画面にアラームの設定状態を常に表示する様にしてみました。


Todayアイテムを沢山登録しているせいか、アラーム設定変更時のToday画面の再描画がスローモーションの様になりますが、実用には耐えられそうです。

【使用するソフト】

・MortScript
http://www.sto-helit.de/index.php?lang=en

・AlarmClock
http://page.freett.com/todamitsu/index.htm

・走り書き for ポケP
http://home.comcast.net/~cheezsj/menuj.htm

下記サイトを参照させて頂きました。

・よれよれの浪人週記
http://d.hatena.ne.jp/kazaguruma-87/20090315

【設定】

MortScriptを使ってAlarmClockのレジストリからアラームのOn/Offと設定時刻の情報を読み取り、走り書き for ポケPのレジストリに書き込む事でToday上にアラームの設定状態を表示します。

1)AlarmClock

ZIP形式で圧縮されて配布されていますので、解凍して、「AlarmClock.PPC_ARM.CAB」を端末にコピーし、ファイラーから実行してインストールします。

詳しくは「シンプルなアラーム機能のAlarmClock」を参照してください。

2)走り書き for ポケP

CAB形式で配布されていますので、端末にコピーし、ファイラから実行してインストールします。

Todayプラグインですので、インストール後に「スタートメニュー」=>「設定」=>「個人用」タブ=>「Today」から「アイテム」タブを開いて
「quick_memo_for_pokeP」の項目にチェックを入れて有効にします。

Today画面上のアイコンをタップ&ホールドするとメニューが現れますので、設定を行います。


今回は、タブを非表示にしています。

3)MortScript

下記スクリプトを使います。

無限ループにして常駐させますので、シュートカットを作ってスタートアップに登録しておくと良いでしょう。


#AlarmClock2Today.mscr

#AlarmClockの設定状態をToday画面に表示するスクリプト v7.0

#ループ

While(1)

  #アラームのOn/Off確認

  OnOff1 = RegRead("HKCU","\Software\GreenSoftware\AlarmClock\Setting","Alarm")

  Sleep(1000)

  #On/Offに変化があったら実行

  OnOff2 = RegRead("HKCU","\Software\GreenSoftware\AlarmClock\Setting","Alarm")

  If(OnOff2 = OnOff1)

  Else

    #アラームがOnならばセットされた時刻を表示
    #アラームがOffならばOffと表示

    If(Onoff2=1)

      time1 = RegRead("HKCU","\Software\GreenSoftware\AlarmClock\Setting","strNext")

      time2 = SubStr(time1,-5)

      RegWriteString("HKLM","Software\Microsoft\Today\Items\quick_memo_for_pokeP","ptext1"," Alarm On @"&time2)

      RedrawToday

    Else

      RegWriteString("HKLM","Software\Microsoft\Today\Items\quick_memo_for_pokeP","ptext1"," Alarm Off")

      RedrawToday

    EndIf

  EndIf

EndWhile

#スクリプト終了

参考サイト;
・MortScript まとめ&マニュアル要訳
http://home.att.ne.jp/wave/deox_pop/mortscript.html#1

AlarmClockでアラーム時刻をを設定するとToday画面上に設定内容が表示されます。


AlarmClockの設定画面を閉じてもToday画面上には設定内容が表示されています。


注)レジストリを弄りますのであくまでも自己責任でお願いします。

追記;

cmdRegistryNotifyAppを使ってAlarmClockの設定状態をToday画面に表示する」ではMortScriptを常駐させない方法をご紹介していますのでご参照ください。

その他のカスタマイズ例については「アドエスのカスタマイズまとめ」をご参照ください。

以上