2007-01-01から1年間の記事一覧

WindowsXP マスターブートレコードの復元

回復コンソールで fixmbr

WeakEvent パターン

WPF

Dependency PropertyはWeakEvent パターンで実装されているみたいだ。 BindingのターゲットがGCによって解放されると、値の連動が行われない。

好きなアルゴリズム

question:1195950564Rekisaでも使ってるLongest Common SequenceとかShortest Edit Sequenceとか呼ばれてる配列比較アルゴリズムが一番好きだな、と思ったら既に一番最初に回答されてた。やっぱり、あのアルゴリズムを知ると感動するよね。 ベイズ理論 アル…

CLR Add-In

Visual Studio 2008もリリースされたので、CLR Add-Inについて調べてみた。http://msdn.microsoft.com/msdnmag/issues/07/02/CLRInsideOut/default.aspx?loc=jp:Title=CLR 徹底解剖: .NET アプリケーションの拡張性 -- MSDN Magazine, February 2007http://m…

プロセスハンドルが残る

Process.Startを使用してショートカットを開くとProcess.Disposeを呼び出しても開いたアプリケーションのプロセスハンドルが解放されない。なぜだろう?

新刊チェック

Amazon Web Serviceを使って新刊チェックソフトでも作ろうかと思ったが、少し調べてみると、DISCOVER Your Favoriteや ブックススケジューラのような素晴らしいソフトがあることに気づく。とりあえず、独自色が出るようなアイディアを思いつくまで保留とする…

シェルのハンドルリーク

ふと気がつくとO2Handlerの使用ハンドル数が3000近くなっている。ハンドルリークしてるのか?と思って調べてみると、コントロールパネルを開く毎にハンドルが10ほど増えていく。が、プログラムにおかしな点は見つからない。試しにエクスプローラでもコントロ…

ホットキー

Win + Space が「既に登録されている」としてホットキー登録できない。 Vistaではサイドバーの表示用ホットキーとして予約されているらしいが、XPでもやはり予約されているのだろうか。

CruiseControl.NETとSubversionの文字コード

以前のCruiseControl.NETではSubversionが出力するUTF-8のXMLをEncoding.Defaultのテキストとして読み込んでいたため、レポートが文字化けしていたが、いつの間にか直っていたようだ。それなのに、Subversionの出力文字コード変換フィルタを使っていたため、…

Firefoxブックマークを検索

DialogHandlerの紹介を見たついでに、過去の記事も見てみたらこんな記事があった。fenrirがないと夜も日も明けない 3 fenrirでブックマークを自在に操るあぁ、誰でも考えることは同じなんだなぁ。以前、自分でもFirefoxブックマークを検索したくなって、Fire…

DialogHandlerを作った理由

yesiam: Dialogを 慣らすでDialogHandlerが紹介されてた。O2HandlerよりDialogHandlerの方がよく使われているなぁ・・・と思いながら読んでいて思い出したのが、O2Handler 0.2 の一機能だったダイアログ制御機能をDialogHandlerとして分離した理由。それは …

ATOK2007

IME2007を使った後だからかもしれないが、感動するほど軽い!昔のATOKはImmGetConversionListが非常に遅かった気がするが、少なくとも今のPCとATOK2007の組み合わせでは気にならない。(IME2007の動かないImmGetConversionListの呼び出しの方が遙かに遅い)I…

続・グラフィカルなコマンドラインインターフェース

感動が醒めないうちに、実装することにした。が・・・意外と地味になってしまった。アナログ時計は面倒だからとテキストだけにしたのが原因か。まぁ、それでも1秒ごとに表示は変わるし、実用的だからいいか。http://frozenlib.net/o2handler/

グラフィカルなコマンドラインインターフェース

こんなの欲しい。 入力はテキスト、出力はグラフィックスなCLI。 当然パイプも使いたい。 http://slashdot.jp/~ruto/journal/335078 グラフィカルなコマンドラインインターフェースについていろいろ考えている人の日記。 O2Handlerでもやはり、入力はコマン…

IME 2007

Expression Webを入れたらIME 2007が付いてきた。ImmGetConversionListの読み仮名取得には対応してないし、変換は遅いしで、今まで悪い点ばかり見つかっていたが、一つだけ良い点が見つかったぞ! それは・・・変換候補一覧が常に手前に表示ウィンドウより手…

iTunes SDK

iTunesを起動していない状態で IiTunes.Sources にアクセスすると iTunes のウィンドウが開いてしまうので、O2Hander.Netのプラグインとして組み込む事を断念。MIcrosoft Office等のようにウィンドウ非表示モードは無いのだろうか?

不動点関数

Y(M) = M(Y(M)) となる関数 Y の事を不動点関数という。C#だとこんな感じ。 class Fix<T> { protected delegate T FuncType(T arg); protected delegate FuncType FixType(FuncType func); protected static FuncType Y(FixType maker) { FuncType f = null; f </t>…

CruiseControl.NET 1.3 導入

ASP.NETのバージョンを2.0にしないとエラーが出る。 CPU使用率が100%になってPC全体が重くなる問題は相変わらず。

Flashに引数を渡す

HTML側 EMBEDタグのFlashVars属性に引数を設定する。 例: ActionScript側 var flashvars:Object = LoaderInfo(loaderInfo).parameters; var a:string = flashvars["test"]; var b:string = flashvars["msg"];

ngenが終わらない

自作ライブラリに対してngenを使用すると、CPU使用率が上がったまま、ずっとngenが終了しないことがあった。幸い、自作ライブラリのソースはsubversionで管理していたので、過去のソースを元にビルドしたアセンブリに対して、片っ端からngenをかけてみると、…

プロセスをインスタンスと考えればグローバル変数も非グローバル変数も同じじゃね?

結論から言うとこの考え方は不味かった・・・・。 理由は簡単。マルチプロセスプログラムのデバッグ環境が整っていないから。

IExtractIcon

IExtractIconを使用してファイルアイコンを取得した場合、アイコンを含まないExeファイルからアイコンを取得できない。このような場合、代わりにSHGetFileInfoを使用すれば、デフォルトExeアイコンが取得可能。

DataObjectに型情報を含めない生データを設定するには

WPF

SetDataの引数にMemoryStreamを指定すればOK。

ウィンドウをアクティブ化する

Windows98あたりから、他のウィンドウでキーボード入力中に 入力状態を持たないスレッドがウィンドウをアクティブ化することができなくなっている。その対策として、入力状態を持たないスレッドがウィンドウをアクティブ化する為に SystemParametersInfo(SPI…

液晶モニタ

もう発色は気にならなくなってきた。ただし視野角の狭さは気になるなぁ。 単一色がグラデーションに見えるのはちょっと・・・。

三菱 RDT201L

液晶モニタを買った。 解像度1600x1200 目に優しい 安い の3つの理由でRDT201にしたが・・・、視野角の狭さが気になる。あと発色の悪さも。慣れれば気にならないような気もするが・・・。

Office2003

COM

Office2003をインストール。 そしたらExcel8.0 Object Library(Excel97付属)が動かなくなった。 'System.ExecutionEngineException' のハンドルされていない例外が mscorlib.dll で発生しました。 動かなくなった場所は遅延バインディングで呼び出していたWo…

ShellExecuteEx

ShellExecuteExはSTA内で呼び出さなくてはならないらしい。 「コントロールパネル\管理ツール\サービス」等が何故かShellExecuteExで実行できないな〜、と思ったら、STAでないスレッドプールのスレッドからShellExecuteExを呼び出していたのが原因だった。

TrackPopupMenu

WPF

WPFアプリケーション内でShellのContextMenuを表示すると、 なぜか、TortoiseSVNの項目が空白となり、しかも、表示中にエラーが発生することがある。 FatalExecutionEngineError が検出されました。 Message: ランタイムの重大なエラーが発生しました。 エラ…

Tips

マネージド環境から作成されたSTA COMオブジェクトのメソッドは、自動的にオブジェクトが作成されたスレッドで実行される。(カレントスレッドIDを返すCOMオブジェクトを作成して確認済み)