2011年6月9日木曜日

ActiveWindowRecorder ver1.00b


activeWindowRecorder100b.zip
size: 65.4KB



■概要
 PCで一日何をしていたかログを取るソフトです。



■動作環境
 Windows XP
 CPU 800MHz以上
 メモリ 256MB以上



■アンインストール
 レジストリは触っておりません。
 削除の際はフォルダごとゴミ箱へどうぞ。



■使い方
 起動しっぱなしにするだけ。
 ログはプログラム終了時と日付が変わった直後にlogフォルダに保存されます。

 記録されるのは
  時刻
  表示時間
  操作中のウィンドウタイトル
  操作しているプログラムのパス
 の4つです。

 outputボタン
  ログをtxtかcsvファイルに出力します
 logボタン
  ログデータを読み込んで表示します
 prevボタン
  現在表示中のログより前のログがあれば表示します
 nextボタン
  現在表示中のログより後のログがあれば表示します
 todayボタン
  今日の最新のログを表示します

 タイムラインイメージ
  大雑把に使用時間をプログラム別に着色して表示しています。
  カーソルを乗せると指定時刻付近にリストが自動でスクロールされます。



■更新履歴
 2011-06-09 ver1.00b
  ウィンドウ情報を保存するよう修正
  output[txt]でプログラム別に使用時間と使用率を出力するよう修正
 2011-06-08 ver1.00
  公開

2011年6月8日水曜日

ActiveWindowRecorder ver1.00


Active Window Recorder
ver 1.00
size: 63.9KB
 
 
■概要
 PCで一日何をしていたかログを取るソフトです。
 
 
 
■動作環境
 Windows XP
 CPU 800MHz以上
 メモリ 256MB以上
 
 
 
■アンインストール
 レジストリは触っておりません。
 削除の際はフォルダごとゴミ箱へどうぞ。
 
 
 
■使い方
 起動しっぱなしにするだけ。
 ログは終了時と日付が変わった直後にlogフォルダに保存されます。
 
 記録されるのは
  時刻
  表示時間
  操作中のウィンドウタイトル
  操作しているプログラムのパス
 の4つです。

 outputボタン
  ログをtxtかcsvファイルに出力します
 logボタン
  ログデータを読み込んで表示します
 prev
  現在表示中のログより前のログがあれば表示します
 next
  現在表示中のログより後のログがあれば表示します
 today
  今日の最新のログを表示します

 タイムラインイメージ
  大雑把に使用時間をプログラム別に着色して表示しています。
  カーソルを乗せると指定時刻付近にリストが自動でスクロールされます。
 
 
 
■更新履歴
 2011-06-08 ver1.00
  公開


 ウィンドウ情報(サイズとか)をiniファイルに保存するつもりだったのをすっかり忘れてたよ。
1週間製作の予定だったが延長戦だ……!

2011年6月7日火曜日

日記ちゃん


 一通り主要機能をつけ終えて、
あとは過去ログ参照できればオッケーかなーとかおもってたが、
過去ログ表示しつつも現在のアクティブ情報を記録しなければならないことに気がついた。
今さっき。げー。
 ListView表示用のメモリと情報蓄積用のメモリの2重に用意する必要がある。
書きながら考えてみたら、そんなに大変でもないか。
変数名の命名が一番大変、次に実装が大変。

2011年6月3日金曜日

SS_BITMAPでうまくいかないパターン

 SS_BITMAPを指定したstatic controlに
CreateCompatibleBitmapで作成したHBITMAPを
STM_SETIMAGEで設定してもうまく表示されない現象に遭遇した。
 LoadImageしたHBITMAPだとうまく表示されるのに何でだよ。
それじゃあと思い、
LoadImageなHBITMAPに
CreateCompatibleDCなHDCをSelectObjectしてSTM_SETIMAGEすると表示されなくなる。
 SelectObjectがいかんのか? と、
とりあえずHBITMAPはSTM_SETIMAGEしておいて、
表示更新するときだけSelectObjectでHDCと関連付けしてBitBltなどで書き換え、
その後、SelectObject解除としたらうまく表示できた。
中でなにやってるのか知らないけど、SelectObjectに注意されたし。
 
 アニメーションさせようと、
とりあえずstatic controlにDIBSectionで作成したHBITMAPを渡しておいて
あとはピクセルを書き換えたらオッケーかなあとおもっていたが、
描画内容は反映されなかった。
意味ねえ。コピーがとられるだけなのかな。
 結局、一定周期おきにstatic controlからGetDCしてBitBltしてやる方法を取ることに。
すげえ遠回りしてこれかよ!
この方法の場合SS_BITMAPを指定する必要すらなし。
でもサイズ設定がおもうようにいかないのと、描画がずれたりするっぽいのでとりあえず一回STM_SETIMAGEしておくのが無難そう。


In version 6 of the Microsoft Win32 controls, a bitmap passed to a static control using the STM_SETIMAGE message was the same bitmap returned by a subsequent STM_SETIMAGE message. The client is responsible to delete any bitmap sent to a static control.

With Windows XP, if the bitmap passed in the STM_SETIMAGE message contains pixels with nonzero alpha, the static control takes a copy of the bitmap. This copied bitmap is returned by the next STM_SETIMAGE message. The client code may independently track the bitmaps passed to the static control, but if it does not check and release the bitmaps returned from STM_SETIMAGE messages, the bitmaps are leaked.


STM_SETIMAGE Message (Windows)
 とかなんとかでSTM_SETIMAGEしたときの戻り値をDeleteObjectしたらエラー出た。
コピーとるんじゃないのかよ! 
いまひとつ良くわからないが、
セットするHBITMAPはHDCにSelectObjectされているとちゃんと表示してくれないというのだけが確定してる。自分の環境では。
 
 それからstatic control上でカーソル位置を取得に
SetTimerを使い、一定周期おきにGetCursorPosすることで方法をとった。
SS_NOTIFYを指定してWM_NOTIFYがこないかなと期待したが、
代わりにWM_COMMANDがくるらしく、しかもMOUSEMOVEは飛んでこないっぽい。
いい方法ではないが仕方なし。

2011年6月1日水曜日

日記ちゃん


生産がす: アクティブなウィンドウのハンドルからファイルパス取得
 いつか作ろうとおもっていた「1日なにやってたかを記録するアプリケーション」を仮作成。
記録するデータは
・操作開始時間
・操作時間
・ウィンドウのタイトル
・プログラムのパス
でアクティブなウィンドウが切り替わるたびにメモリに追記していく仕様にした。
 一日分のデータをとったところ、約4MBほど使用した。1ヶ月で124MB。さすがに消費が多すぎる。
今日のデータ以外はzipで圧縮するとか、
プログラムパスは変化が少ないのでIDで保存することでデータ量を減少させるとかで対策してみている。未テスト。
 
 プログラムファイルパスを文字列からID管理にして、丸一日実行してみたら約1MBになった。
全データ約1500。そのうちプログラムパスは25種だった。
データの大半がブラウザだった。
ブラウザは使用率が高いしウィンドウのタイトルもころころ変わるから納得の結果だ。
使用時間が長いのが動画やゲーム関係だった。
あまり参考にならない。

2011年5月28日土曜日

日記ちゃん

 フリック入力可能なソフトウェアキーボードってないのかなと5分ほど検索したが見つからなかった。
ありそうでない。
カーソルを指定位置に持っていく動作がタッチパネルほど簡単ではないだろうから案外微妙なのかも。
クリックすればあとはジェスチャ動作と同じだから直感的だと思う。
 既存のソフトウェアキーボードはボタン間違えることもしばしばあるのを考えると、
まだフリックのほうがクリックミス率低くて省スペースか。
参考:
YouTube - iPhoneでのフリック入力
 
 
 タッチパネルつながりだが
iPhoneSTGにみられる自機移動操作が気になってる。
指で自機が隠れるのを防げ、かつ狭いスペースでかなり自由に動ける。
マウスで再現するなら
・左クリック+マウスMoveで移動、
・右クリックでショット切り替え
・ホイール押し込みでボム
あたりだろうか。
ホイール回転でショット切り替えで右クリックをサブに回しても面白いかもしれない。
 ホイールがないマウスがある以上、作るには勇気がいるか。
参考:
YouTube - 「エスプガルーダII」をiPadで遊んでみた。(おまけの裏技付き)

2011年5月27日金曜日

日記ちゃん


 届いたー。
最近発売したコンシューマSTGの中では一番好き。
アレンジがトラック1と2にきて、オリジナルがトラック3~って構成は珍しいんじゃないかな。
シルバーソードの曲も入れてくれれば、よりうれしかったんだけどそれは期待しすぎか。
 NP後払いなんてはじめて使ったが、
あとから請求書が届くとかいいのかそれでって感じがあるな。
 
 
/** 2011-06-01追記 */
【XBOX360】 ESCHATOS 期間限定特典CD 試聴ムービー 【STG】 ‐ ニコニコ動画(原宿)
 初回限定得点のサントラのほうにはシルバーソードの曲が入ってたのな。
 
 それから、NP後払いの請求書がぜんぜん来ないなーとおもってたら、
今から送るよメールがさっき来た。
1週間以内に支払ってねと書いてあったけど
商品到着から支払期限までは実質3週間ぐらいある。

2011年5月26日木曜日

日記ちゃんavi出力

 よくよく考えてみれば無音なんだからキャプチャソフトなんぞ使わずに自前で出力すればいいじゃないと思い立って実装してみた。
最初は毎フレーム、ビットマップファイルを出力してあとから連結して動画化する予定だったが、
調べてみるとデータだけ渡せばaviファイルを出力してくれる便利なAPIがあるようなので使ってみた。
主に負担テスト。

 320x240の60FPSで実行。10秒ほど録画。aviファイルサイズが175MB。
この解像度だと処理落ちせずに録画可能なようだ。
キャプチャ使うより負担も小さくいい感じだ。
 640x480で録画すると15FPS程度まで落ちる。
また10秒で動画ファイルサイズが700MBにもなるので、実際に使うには非現実的。
使ったAPIがAVIFileOpen(), AVIStreamWrite()などで、
APIの仕様により2GBまでしか処理できないので30秒も録画できない計算になる。
DirectShowを使用すればより大きなサイズを録画可能だとわかってはいるが未調査。
 

 640x480-60FPS。無圧縮aviだと再生もままならないので適当に変換。
再生時の拡大処理でぼやっとするのを防げないかテストもかねて。
 
 あんまかわんねーな。
サイズきっちりじゃないとだめなのか。
 
 
 

 プロモ風味。
Windowsムービーメーカーで作成したが、出力がwmvってのがネックか。
切り貼りとフェードが楽でいい。これぐらい直感的な編集ソフトが他にあればいいのだけど。

2011年5月14日土曜日

にきちゃ

生産がす: にきち
 ノートPCが再起動地獄に陥ってたが、
「plug and play」システムサービスをとめると改善された。
細かい原因は不明。怪しげなところを触ってみるが直る気はしないな。
とりあえず起動するようになったのでよし。
 
 自動で再起動しないようにしてエラーをださせると、
STOP: 0x0000007E
sysaudio.sys
うんたらかんたらと出た。
ドライバがいかれてるか、メモリかHDDあたりがいかれてるかそのへんだろうか。
 
 ちなみにノートPCは
NEC LavieLL 300/1A
Mobile AMD Duron(TM) Processor 800MHz
メモリ 256MB
で発売日が2001/10/22とおおよそ10年前。

2011年5月6日金曜日

日記ちゃん

 メタセコイアの2.4aが来てたのでアップデートした。
MetasequoiaLE R2.4a公開: metaseq.net blog
metaseq.net
 
 去年の9月ごろにマウスを買ったのだけど、すでにぼろぼろで動かない。
マイクロレシーバ ワイヤレスレーザーマウス - M-FG2DLシリーズ
amazonで2000円だったので価格につられて。
 使用時間は8ヶ月ほど。保証は6ヶ月だった。
ホイールクリックがきかず、押し込んだままぐりぐりすると稀に認識する。
また、左クリックが時々利かない症状が出ている。
 電池は1ヶ月で切れるおお食らいな割りに、
無線の範囲も狭いとなかなか踏んだりけったりな。仕様だけど。
 電池切れそうになると赤LEDでピカピカ光るのとことか、
5ボタンチルトホイールだったり、
電池が取り外ししやすい構造になってたりと好きなところもあるんだけど、壊れるの早い。
 前回の500円のマウスが1ヶ月もたなかったのを考えると、
2000円で8ヶ月はがんばってるほうか。