ちょっとC#でパスワードを覗いてみた。

パスワード入力用のテキストボックスで、入力しても”******”としか表示されないものがありますよね。あれ、不便ですよね。自分で入力したのに見えないなんて理不尽ですよね。

そこで、無理やり入力内容が見える様にするプログラムを書いてみました。Vector辺りを探せばあるような気がするけど気にしたら負けでしょう。

実はアレ、ただのテキストボックスなのでメッセージ投げれば好きなように弄れちゃうんですよね。で、今回投げたのはEM_SETPASSWORDCHAR。EnumChildWindows関数でウィンドウを列挙して手当たり次第にPostMessageしてます。

はい、コードです。

 

 

 

これでパスワード丸見えなんですってば。

ZERO

C3A5CDocuments20and20Settings5COwner5C83f83X83N83g83b83v5C105894183_83[1]

こんな写真が出てきた。18歳の夏だった。自転車に乗り始めて間もない支笏湖2回目。roadkidsに拾われたのもこのときだった。恒例行事の『支笏湖T.T.』に飛び入り参加。このときから変わってないね、フォームが。(トップの写真参照)笑いながら登るのもこの頃からだったんだな。

この後、他のメンバーに付いてショップに行って、そこで当時の店長にそそのかされてキャノンデールのロードバイクを買ったんだっけ。レースに出ろと熱く口説かれたんだよなぁ。

あれから今年で5シーズン目。クラスはS-3からS-1へ。支笏湖のタイムは55分から46分へ。手稲山は37分から26分へ。藻岩山は14分から12分へ。今年はどんなシーズンになるのかな。あまり良い予感はしないが…。

逆P/Invokeを駆使してTTBaseのプラグインを作れるか?

TTBase http://ttbase.sourceforge.jp/

逆P/Invoke http://www.artonx.org/diary/20081124.html#p01

これでC#でTTBaseのプラグイン作れるんじゃね?と思った。

TTBase.cs TTBaseで使用する構造体とか定数とか

 

 

Class1.cs TTBaseに公開するメソッドを実装

 

 

上のコードをビルドしたら

 

 

でILにする。

逆P/Invokeを参考にILを編集

 

 

とILからDLLを作成。メッセージの意味はよくわからないけど、多分成功してる。

これで出来たDLLをTTBaseのディレクトリにコピーしてTTBaseを起動するも…プラグインとして認識されない。

どこが上手く行ってないのかもわからない状態。

http://twitter.com/takeshik/statuses/2419234928

とか言われたけどC++/CLIとかキモいし。

http://twitter.com/takeshik/statuses/2419254967

とか突っ込まれたけどその通りだと思う。

C#でやることに意味があるのですよ。C#可愛いよ、C#可愛い。

でもC#で出来て無いから何の意味も無いという…。