windows

IE6と7以降でIEキャッシュの命名規則が違う

http://127.0.0.1/ のようなURLにキャッシュ可能な文書を置いてアクセスし、Temporary Internet Files に生成されるファイル名を確認すると、 IE6 では、 127.0.0.1[1].txt となる IE7/8 では、 127_0_0_1[1].txt となる なんて微妙な仕様変更。

SDカードから失われた動画を復旧する

ffmpeg で -i オプションにワイルドカードを使ったらSDカード内のAVIがごっそり0バイトになって焦った。ここは本気を出さねばならない。selfImageで、メディアまるごとのバイナリイメージを取って、以下のコードを実行し、「"RIFF"から始まるファイル」に分…

PathMatchSpecの挙動

Windows上でワイルドカードを処理するAPIがPathMatchSpecである。 http://msdn.microsoft.com/en-us/library/bb773727(VS.85).aspx しかしここに載っているサンプルがあまりにもセンスが悪い。ということでテストコードを書いた。コードは後述。結果は以下。…

WM_GETDLGCODE無限ループ:2

d:id:kuboon:20090901 なんだかいろんな人がいろんなことを言っているが、 http://www.tech-archive.net/Archive/InetSDK/microsoft.public.inetsdk.programming.webbrowser_ctl/2006-06/msg00038.html に載っていたコードが実装しやすそうだったので入れて…

WM_GETDLGCODE無限ループ

IWebBrowserを乗っけたダイアログ上でJavaAppletを開き、アプレット上のUIをいじっているとメインスレッドがフリーズ。 なんだろうと思ってブレークをかけてみると、ダイアログの子要素に対してWM_GETDLGCODEがものすごい勢いで投げまくられている状態。で、…

LVIS_DROPHILITED?

HILIGHTED だろJK.

MSXMLで文字列をインポートする方法

loadXMLを使うと encoding が期待通り処理されない。 以下のようにする。 VARIANT var; { SAFEARRAYBOUND rgb={strlen(xml),0}; //末尾にNULL文字つけちゃだめ SAFEARRAY* psa = SafeArrayCreate(VT_UI1,1, &rgb); if(!psa){ assert(false); return false; }…

WM_GETDLGCODE無限ループ

IWebBrowserを乗っけたダイアログ上でTextFieldを含んだJavaAppletを開き、そのあたりをいじっているとメインスレッドがフリーズ。 なんだろうと思ってブレークをかけてみると、ダイアログの子要素に対してWM_GETDLGCODEがものすごい勢いで投げまくられてい…

JobObject の壁

複数のプロセスをまとめて管理する仕組みとしてJobObjectというものがある。 http://msdn.microsoft.com/en-us/library/ms684161(VS.85).aspx POSIX準拠の仕組みらしく、古くはapacheのようなヤツがいくつかのプロセスを立ち上げて堅牢性を向上させていたり…