objective-cをちょい研究!ブログ -38ページ目

objective-cをちょい研究!ブログ

WILLCOMを卒業してiOS開発者に転身しました。。
コメント&トラックバック大歓迎です。

バージョンアップ済みです。最新版をダウンロードしてください。


ウィルコムのPHSで、メールでWEBを閲覧できるメール銀河というユーザーさんがやっているサービスがあります。
メールの送受信を使うので時間はかかりますが、メール定額プランならただでウェブ閲覧できちゃいます。
http://yuki-lab.jp/ginga/mailginga.html
(メール銀河 ゆきの研究室様)


そこで、アドエス向けにメール銀河の補助ツールを作ってみました。アドエス&ZERO3メール専用です。
Zero3メールの受信トレイを監視して、メール銀河からのメールがあれば、HTML形式に変換してOperaブラウザで閲覧できるようにしました。リンク番号はmailtoのリンクに変換するので、リンククリックで簡単に返信できます。


好きなフォルダにおいて下さい。使い方はReadme.txtを読んでください。
http://www.ne.jp/asahi/phs/phs/gingawakusei.lzh


このほか、URLのメール送信もできます。URLはOperaのブックマーク一覧から選択できます。
また、ライトメール送信ソフトのSendLightMailを同じフォルダに置けばライトEメールでも送信できます。

http://w03holic.seesaa.net/article/89489865.html
(SendLightMail V0.06 W-ZERO3 Holic様)

ここ最近は、Zero3メール用の補助ツールアプリケーションを試作中。


<受信済みメールデータを取得>
Zero3メールの送受信メールデータは次の場所に格納されている。
\Application Data\SeeTooMail\Account\[アカウント名]\Storage\DATA


Status.txtというファイルがあり、次メール番号とメール件数が格納されている。
以下の場合、次に作成または受信するメールの番号は、0010(16進数)になる。

0010<タブ>1


メールデータは、メール番号別に格納されている。
DATAフォルダ以下に数字の番号が付いたフォルダがずらずらあり、その中に00.emlファイルがあると思うが、メール番号の下2桁がフォルダ名、上2桁がファイル名となっている。
たとえば、メール番号1234の格納先は、…\DATA\34\12.EML となる。


メールデータ形式は、一般的なEML形式ファイルに独自のヘッダー(256バイト)を追加したものになっている。
読むだけなら先頭の256バイトをカットしてあげれば、OutlookExpressなどでも開けるはずである。


<メール送信>
メール送信は、Htmlのメアドリンクと同じ文字列を実行すればOK。
ShellExecute関数などでファイル名の変わりに渡してあげれば、自動的に送信メール作成画面が開かれる。

mailto:XXXXX@XXXXX.co.jp?Body=本文&Subject=タイトル

Visual Studio 2005には、ActiveSync経由でアプリケーションのメッセージを監視できるリモートスパイというすごいソフトがあるらしい。
早速使ってみたが、リモートスパイでメッセージが取得できない。


http://geocities.yahoo.co.jp/gl/hou_ming_2/view/20070118
WM5プログラミングネタ(ある忘れっぽいプログラマの覚書様)


2005のリモートスパイにはバグがあって、メッセージが取得できないらしい。


eMbedded Visual C++ 4.0 JA
(CDキーは同ページに記載)
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=1dacdb3d-50d1-41b2-a107-fa75ae960856


Windows Mobile 2003 SDK
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&familyid=9996b314-0364-4623-9ede-0b5fbb133652


上の2つをインストールしてみた。
メニューより、eMbedded Visual C++ 4.0を起動すると、ツールメニューにリモートスパイが出てくる。
実行してみたが、今度はZero3との接続がうまくいかない。

サービスパック(SP4)があったので入れてみた。今度は無事接続することができた。


eMbedded Visual C++ 4.0 SP4
http://www.microsoft.com/downloads/details.aspx?familyid=4A4ED1F4-91D3-4DBE-986E-A812984318E5&displaylang=ja


<接続したときの設定>
eMbedded Visual C++ 4.0のツールメニュー|リモートツールの選択|WCE500を選択。
リモートスパイを起動して、接続メニュー|Windows CE PlatForm Manager の構成を選択。
ツリービューの[Windows CE 既定のプラットフォーム→既定のデバイス]を選択して、プロパティをクリック。


トランスポート:Windows CE用 TCP/IP トランスポート
起動サーバー:Microsoft ActiveSync


テストをクリックして繋がればOK。メッセージの監視も無事成功♪

バージョンアップ済みです。最新版をダウンロードしてください。


VB開発者向けのZero3アプリ開発支援ソース公開です。
VBからAPIを使うのは結構大変だったりしたので、Zero3で使えそうな機能を共通モジュール化しました。

Compact Framework 2.0用です。


・アプリケーションパス変数(App.Pathみたいな)

・テキストファイル入出力
・アプリケーション実行
・サウンド鳴動(WAVEファイル)
・Zero3電話機設定(PhoneStatus)のレジストリ入出力
・電波状況取得
・電話機機種名取得
・IMEOn/Off
・LED・バイブレータOn/Off
・ATコマンド実行


転載・改造は自由です。アプリ開発に役立てて下さい。

ただのVBソースなので、プロジェクトに加えるだけです。

http://www.ne.jp/asahi/phs/phs/blog/zero3common.lzh


レジストリのPhoneStatusをいじると色々面白いことができるらしいので自分なりに調べてみた。調査環境はアドエスです。
調査方法は、レジストリエディタもありますが、自分の場合はプログラムを組んで直接たたいてます。


Status0~28について一覧で書かれてます。
http://dislife.com/?date=20060821
(赤いロックアイコンの惨劇。 mozurin様)


Status29,Status30について書かれてます。
http://blogs.yahoo.co.jp/ya_goripon/42778426.html
(『赤いロックアイコンの惨劇。』ネタ マニアックごりぽんショー 様)


<場所>
HKEY_CURRENT_USER\Software\Sharp\PhoneStatus\


<設定内容>
※欠番がありますが、まったく補足がない項目は省いてます。


Status0 キーロックアイコン制御(0=Off/1=On)(キーロック状態は変化せず)
    OffからOnに切替時、「キーロックを設定しました」を表示
Status1~2 未使用?
Status3 マナーモードアイコン制御(0=Off/1=On)(マナーモード状態は変化せず)
Status5 LED青短時間点灯(3秒周期でOFFされる)
Status9 不明
Status10 Eメール受信通知(1=LED青点滅+着信音鳴動 終了後-1になる)
Status11 ライトメール受信通知(1=LED青点滅+着信音鳴動 終了後-1になる)
Status12 未使用?
Status13 不明
Status14 (自動的に0になる)
Status15 Eメール受信(1=受信 終了後-1になる)
Status16~18 未使用?
Status19 メッセージ表示(
     1=センターにEメールが有ります。オンラインサインアップを行ってから受信してください。
     2=センター番号が一致しません。
     3=センターコードが一致しません。4=メモリがいっぱいです。
     5=センターにEメールが有ります。6=センターにEメールが有りません。
     OK押下後0、OK未押下-1になる)
Status20 電話発信画面(1=表示 終了後0になる)
Status21 ライトメール画面(1=表示 終了後0になる)
Status24~25 未使用?
Status26 (自動的に0になる)
Status29 入力モード選択画面表示状況(取得のみ 0=非表示、1=表示中)
Status30 入力モード選択禁止(0=選択可、1=選択禁止)
Status31 入力モード(1=全角ひらがなになる 自動で-1になる)
Status32 (自動的に元の数字になる)
Status33~ 未使用?


Status3でマナーモードが変更できれば、楽器系ソフトで一時的に解除なんてできると思ったんだけど。