<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
 xmlns="https://purl.org/rss/1.0/"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:lang="ja">
 <channel rdf:about="https://www.pakunet.jp/hoge/rss">
  <title>hoge diary</title>
  <link>https://www.pakunet.jp/hoge/</link>
  <description>技術的なネタがメインの不定期日記</description>
  <items>
   <rdf:Seq>
    <rdf:li rdf:resource="https://www.pakunet.jp/hoge/2009/10/16/1?from=rss" />
    <rdf:li rdf:resource="https://www.pakunet.jp/hoge/2009/10/11/1?from=rss" />
    <rdf:li rdf:resource="https://www.pakunet.jp/hoge/2009/10/10/1?from=rss" />
    <rdf:li rdf:resource="https://www.pakunet.jp/hoge/2009/1/18/1?from=rss" />
    <rdf:li rdf:resource="https://www.pakunet.jp/hoge/2008/3/2/1?from=rss" />
    <rdf:li rdf:resource="https://www.pakunet.jp/hoge/2008/1/27/1?from=rss" />
    <rdf:li rdf:resource="https://www.pakunet.jp/hoge/2007/12/13/1?from=rss" />
    <rdf:li rdf:resource="https://www.pakunet.jp/hoge/2007/11/27/1?from=rss" />
    <rdf:li rdf:resource="https://www.pakunet.jp/hoge/2007/11/10/1?from=rss" />
    <rdf:li rdf:resource="https://www.pakunet.jp/hoge/2007/11/9/2?from=rss" />
   </rdf:Seq>
  </items>
 </channel>
 <item rdf:about="https://www.pakunet.jp/hoge/2009/10/16/1?from=rss">
  <title>PuTTY + Drag&amp;Drop (2)</title>
  <link>https://www.pakunet.jp/hoge/2009/10/16/1?from=rss</link>
  <description>前回の続きです。PuTTY にファイルやフォルダをドロップすると、パスが入力されるようにするパッチです。前回は Cygwin 1.5 のみの対応でしたが、今回は Cygwin 1.7 にも対応しました。	パッチ: putty-0.60-file-dnd-src-for-cygwin1.7.patch  (5,005 バイト)	パッチ適用済み実行ファイル: putty-0.60-file-dnd-src-for-cygwin1.7.zip (429,568 バイト)	License: PuTTY License以下の環境にて使用できます。	PuTTY 0.60 ごった煮版 (2007/8/6 版)	Cygwin 1.7 (Cygwin の /bin にパスが通っていること)	Cygterm 1.07 (1.05 でも動くはず)</description>
 </item>
 <item rdf:about="https://www.pakunet.jp/hoge/2009/10/11/1?from=rss">
  <title>PuTTY + Drag&amp;Drop</title>
  <link>https://www.pakunet.jp/hoge/2009/10/11/1?from=rss</link>
  <description>コマンドプロンプトでは、ファイルやフォルダをドロップすると、パス名が入力されるようになっています (Vista 以降はセキュリティ強化の一環で使用できなくなりましたが…)。これを PuTTY にも実装しました。	パッチ: putty-0.60-file-dnd-src-for-cygwin1.5.patch  (4,049 バイト)	パッチ適用済み実行ファイル: putty-0.60-file-dnd-src-for-cygwin1.5.zip (429,431 バイト)	License: PuTTY License以下の環境にて使用できます。	PuTTY 0.60 ごった煮版 (2007/8/6 版)	Cygwin 1.5 (1.7 は文字コードが EUC-JP になっているために(2009/10/12 追記) 1.7 では環境変数 LANG が未設定の場合に UTF-8 でパスを返すので2バイト文字が扱えません。1.7 用は現在作成中)	Cygterm 1.07 (1.05 でも動くはず)Windows から渡されたフルパス名を、cygpath コマンドを使って Cygwin パス名に変換しています。ですので、Cygwin の bin ディレクトリにパスが通っている必要があります。なお、PuTTY でリモートマシンに接続している場合にも、ファイルやフォルダをドロップすることはできますが、そこで入力されるパスは、あくまでローカル PC のパスです。</description>
 </item>
 <item rdf:about="https://www.pakunet.jp/hoge/2009/10/10/1?from=rss">
  <title>ウィンドウ移動中のメッセージループは別物</title>
  <link>https://www.pakunet.jp/hoge/2009/10/10/1?from=rss</link>
  <description>MFC や Windows フォームを使わずに、ウィンドウを使うアプリを作るときは、メッセージループが出てきます。でも、このメッセージループで何か処理をしよう、というのは Windows から見たら邪道のようです。Windows プログラムをスクラッチから書いていたときの話です。メッセージループが動いている様子を確認するために、PeekMessage() API を使って以下のコードを書きました。    MSG msg;    for (;;)    {        BOOL msg_arrived = ::PeekMessage( &amp;msg, NULL, NULL, NULL, PM_REMOVE );        if ( msg_arrived )        {            if ( msg.message == WM_QUIT )                break;            ::TranslateMessage( &amp;msg );            ::DispatchMessage( &amp;msg );        }        // メッセージループが動いていることを確認する何かの処理        SomeOperationInEveryMessageLoop();    }RegisterClassEx, CreateWindow を呼び出してウィンドウを作った後、メッセージループに入り、SomeOperationInEveryMessageLoop() 関数がちゃんと呼ばれていました。ところが、そのウィンドウのタイトルバーの上でマウスの左ボタンを押したままにすると…、メッセージループ中の SomeOperationInEveryMessageLoop() が呼ばれなくなりました。おや？「titlebar drag message loop」でググってみると、MSDN のフォーラムがヒットしました。それによれば、マウスクリックによって Windows 内部のモーダルループに制御が移ってしまうとのこと。なんと。ちなみに下記はその書き込みの引用。Clicking on the title bar starts a modal message loop inside of windows to allow the user to move the window.自作のメッセージループが回らない今回の謎は解けましたが…、これで終わるのもなかなかもったいないので、解決法はないものかと、同じキーワードで続けてググってみて、もっともそれらしい解決法を発見。メッセージループそのものには割り込めないから、タイマーでメッセージを送らせて処理するしかない、ってことです。DialogBox() や MessageBox() を呼び出したときには内部メッセージループに入ることは知っていましたが、まさかウィンドウの移動やサイズ変更でも内部のループに入ることは知りませんでした。おそらく、別のループに入る条件はほかにもたくさんあるでしょう（あったような気がしますが、思い出せません…）。それを踏まえると、定期的な処理をしたいがためにアプリのメッセージループを使うのは、あまりよい方法ではなく、そういう処理をしたいのであれば、素直にタイマーを使いなさい、ということでしょう。</description>
 </item>
 <item rdf:about="https://www.pakunet.jp/hoge/2009/1/18/1?from=rss">
  <title>GPU</title>
  <link>https://www.pakunet.jp/hoge/2009/1/18/1?from=rss</link>
  <description>久々の更新です．</description>
 </item>
 <item rdf:about="https://www.pakunet.jp/hoge/2008/3/2/1?from=rss">
  <title>Vista デスクトップのアイコンを小さくする</title>
  <link>https://www.pakunet.jp/hoge/2008/3/2/1?from=rss</link>
  <description>Windows Vista でデスクトップのアイコンを小さくしようとして，「クラシック アイコン」を選択しても，まだ大きくて嘆いていました．</description>
 </item>
 <item rdf:about="https://www.pakunet.jp/hoge/2008/1/27/1?from=rss">
  <title>ユーザの権利を編集するツール editrights</title>
  <link>https://www.pakunet.jp/hoge/2008/1/27/1?from=rss</link>
  <description>Cygwin 付属の editright コマンドを用いると，Windows NT 系 OS (NT/2000/XP) において，[管理ツール]の[ローカル セキュリティ ポリシー] (secpol.msc) で行うようなユーザ権利の設定をコマンドラインから編集できます．</description>
 </item>
 <item rdf:about="https://www.pakunet.jp/hoge/2007/12/13/1?from=rss">
  <title>ごくせん再び</title>
  <link>https://www.pakunet.jp/hoge/2007/12/13/1?from=rss</link>
  <description>TV ドラマ「ごくせん」が来年の 4 月から再び始まるみたいですよ．</description>
 </item>
 <item rdf:about="https://www.pakunet.jp/hoge/2007/11/27/1?from=rss">
  <title>mogrify の覚え書き</title>
  <link>https://www.pakunet.jp/hoge/2007/11/27/1?from=rss</link>
  <description>画像に文字を重ね書きするために ImageMagick の convert や mogrify (大抵 mogrify) を使っていますが，何度使っても忘れるので覚え書き．</description>
 </item>
 <item rdf:about="https://www.pakunet.jp/hoge/2007/11/10/1?from=rss">
  <title>バイオハザード3</title>
  <link>https://www.pakunet.jp/hoge/2007/11/10/1?from=rss</link>
  <description>バイオハザード3 (英題: Resident Evil: Extinction) 観に映画館行ってきました．</description>
 </item>
 <item rdf:about="https://www.pakunet.jp/hoge/2007/11/9/2?from=rss">
  <title>Today's Movie</title>
  <link>https://www.pakunet.jp/hoge/2007/11/9/2?from=rss</link>
  <description>今日は「ボーン・スプレマシー」(英題: The Bourne Surpremacy) です．</description>
 </item>
</rdf:RDF>
