<?xml version="1.0" encoding="UTF-8" ?>
<rss version="0.91">
  <channel>
    <title>膠着戦線 -日常的戦場-</title>
    <description>少し更新頻度あげようと思う今日この頃....
ダメプログラマのダメ日記＼(^o^)／</description>
    <link>http://bypath.blog.shinobi.jp/</link>
    <language>ja</language>
    <copyright>Copyright (C) NINJATOOLS ALL RIGHTS RESERVED.</copyright>

    <item>
      <title>[C#] DLLの動的ロード</title>
      <description>&lt;br /&gt;
&amp;nbsp;■DLLをロードする。&lt;br /&gt;
&lt;br /&gt;
C#の場合、同じ&amp;quot;C#&amp;quot;で作成されたアセンブリ（DLLなりEXE）なりを&lt;br /&gt;
参照することで、公開されているメソッドを使うことができますが...&lt;br /&gt;
&lt;br /&gt;
C++等で書かれた旧来のDLLをロードする際に、いろいろと問題が起こります。&lt;br /&gt;
&lt;br /&gt;
基本的には、&amp;darr;みたいに&amp;quot;Dllimport属性でDLLを指定することで使用可能です(&amp;acute;・&amp;omega;・`)ｂ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;[DllImport(&amp;quot;kernel32&amp;quot;, CharSet = CharSet.Unicode, SetLastError = true)]&lt;/div&gt;
&lt;div&gt;public static extern IntPtr LoadLibrary(string lpFileName);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■問題はここからで。&lt;br /&gt;
DLLを動的にロードする関数が、.NET Frameworkには見当たらない&amp;hellip;((；゜Д゜))&lt;br /&gt;
&lt;br /&gt;
いろいろ調べてみたんですが、結局はWin32APIを使用してC++と同じようにロード&lt;br /&gt;
するしか方法がないみたいです。&lt;br /&gt;
以下適当なサンプル。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/// LoadLibrary()&lt;br /&gt;
&lt;div&gt;[DllImport(&amp;quot;kernel32&amp;quot;, CharSet = CharSet.Unicode, SetLastError = true)]&lt;/div&gt;
&lt;div&gt;public static extern int LoadLibrary(string lpFileName);&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;/// FreeLibrary()&lt;/div&gt;
&lt;div&gt;[DllImport(&amp;quot;kernel32&amp;quot;, SetLastError = true)]&lt;/div&gt;
&lt;div&gt;public &amp;nbsp;static extern bool FreeLibrary(IntPtr hModule);&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
/// GetProcAddress()&lt;/div&gt;
&lt;div&gt;[DllImport(&amp;quot;kernel32&amp;quot;, CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = false)]&lt;/div&gt;
&lt;div&gt;public &amp;nbsp;static extern IntPtr GetProcAddress(IntPtr hModule, string lpProcName);&lt;/div&gt;
&lt;br /&gt;
/// &amp;quot;hogehoge.dll&amp;quot;のpublicメソッド&lt;br /&gt;
public delegate bool hogehogeFunc(string param1);&lt;br /&gt;
&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
private void Test(){&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;/// DLLをロード&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int moduleHandle = LoadLibrary(&amp;quot;hogehoge.dll&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;/// APIへのポインタを取得&lt;br /&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;IntPtr funcPtr = GetProcAddress(moduleHandle&amp;nbsp;, &amp;quot;hogehogeFunc&amp;quot;);&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;/// ポインタからdelegateへ変換&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;hogehogeFunc&amp;nbsp;func1 =&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;			&lt;/span&gt;(hogehogeFunc)Marshal.GetDelegateForFunctionPointer(&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;			&lt;/span&gt;funcPtr,&amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;typeof(hogehogeFunc));&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;func1(&amp;quot;パラメータだよー&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;/// DLLの解放&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;FreeLibrary(moduleHandle);&lt;/div&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ビルドすらしていないのでアレですが。&lt;br /&gt;
細部は間違ってるかもしれませんが、だいたい&amp;uarr;みたいな感じかと。&lt;br /&gt;
&lt;br /&gt;
あとは、エラー処理さえ入れてしまえばOK。&lt;br /&gt;
&lt;br /&gt;
LoadLibrary()したら、必ずFreeLibrary()しなきゃならんのが非常に面倒(&amp;acute;・&amp;omega;・`)&lt;br type=&quot;_moz&quot; /&gt;</description> 
      <link>http://bypath.blog.shinobi.jp/%E9%9B%91%E8%A8%98%E3%80%82/-c--%20dll%E3%81%AE%E5%8B%95%E7%9A%84%E3%83%AD%E3%83%BC%E3%83%89</link> 
    </item>
    <item>
      <title>PHPの環境作ってみた。</title>
      <description>■大学の卒業研究なんかはPHPで作っていたんですが、&lt;br /&gt;
卒業以来、ほとんど触れていませんでした。&lt;br /&gt;
&lt;br /&gt;
そんな訳で、なんとな～く弄りたくなって、PHPの環境を作ってみました。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
開発環境として、大学に居た当時は「エディター」でガリガリ書いていただけ&lt;br /&gt;
だったんですが、、、。&lt;br /&gt;
仕事でVisualStudioとか使っていると、統合開発環境がやっぱり使いやすい。&lt;br /&gt;
&lt;br /&gt;
VS.ｐｈｐとかいう、VisualStudioチックなやつもあるみたいなんですが、&lt;br /&gt;
なんとなくお金を出したくなかったんで、Eclipseにて&amp;hellip;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■んで、導入したのは&amp;hellip;&lt;br /&gt;
&lt;br /&gt;
（開発環境）&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://mergedoc.sourceforge.jp/&quot;&gt; Pleiades（プレアデス）&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Eclipseプラグイン日本語化プラグイン（&amp;hellip;分かりづらい&amp;hellip;）らしい。&lt;br /&gt;
まあ、自分もあまり詳しくはないんですが&amp;hellip;。&lt;br /&gt;
とりあえず、Eclipseなら大丈夫だろうという、かなり適当な感じで導入。&lt;br /&gt;
&lt;br /&gt;
（LAMP）&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.apachefriends.org/en/xampp.html&quot;&gt;XAMPP for Windows&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Apacheやら、MySQLやら、PHPやらをまとめて導入できる便利ツール（？）。&lt;br /&gt;
サービスの開始なんかも、XAMPPのコントロールパネルから管理できるので&lt;br /&gt;
楽ちん(&amp;acute;&amp;forall;｀)ｂ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
そんな訳で、ぼちぼち適当に何か作っていこうと思います。&lt;br /&gt;
暇があれば、PHPのサンプルでもアップしてみます。&lt;br /&gt;
期待しないでください（ぇ&lt;br type=&quot;_moz&quot; /&gt;</description> 
      <link>http://bypath.blog.shinobi.jp/php/php%E3%81%AE%E7%92%B0%E5%A2%83%E4%BD%9C%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F%E3%80%82</link> 
    </item>
    <item>
      <title>SSFを使ってみた</title>
      <description>■最近、セガサターンのソフトを整理していてふと思った。&lt;br /&gt;
&lt;br /&gt;
「そーいや、セガサターンのエミュレータってどーなんだ&amp;hellip;？」&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
最後にチェックしたのは大学生時代&amp;hellip;いまから４年前くらい。&lt;br /&gt;
当時の俺のマシンのスペックは、「PentiumIV 2.6GHz」くらい。&lt;br /&gt;
&lt;br /&gt;
正直、まともに動かなかった(&amp;acute;・&amp;omega;・`)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■そんなんで。&lt;br /&gt;
&lt;a href=&quot;http://www.google.co.jp/search?hl=ja&amp;amp;q=SSF%E3%80%80%E3%82%B5%E3%82%BF%E3%83%BC%E3%83%B3&amp;amp;btnG=%E6%A4%9C%E7%B4%A2&amp;amp;lr=lang_ja&quot;&gt;SSF&lt;/a&gt;というエミュレータで試してみた。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
うちのマシンのスペックは&amp;hellip;&lt;br /&gt;
CPU：Core2Duo E6750 ( 2.6GHz )&lt;br /&gt;
メモリ：2GB&lt;br /&gt;
グラボ：GeForce8600GT ( 512MB )&lt;br /&gt;
&lt;br /&gt;
とりあえず、手元にある「ガーディアンヒーローズ」をISOイメージとして&lt;br /&gt;
取り込んで実行しました。&lt;br /&gt;
（ドライブにCD-ROM突っ込んで、直接もできるけど、五月蝿いので&amp;hellip;）&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://file.bypath.blog.shinobi.jp/81438e1e.jpeg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://file.bypath.blog.shinobi.jp/Img/1254416689/&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://file.bypath.blog.shinobi.jp/b3e5ccda.jpeg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://file.bypath.blog.shinobi.jp/Img/1254416485/&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
普通に動く&amp;hellip;( ﾟДﾟ)&lt;br /&gt;
サターンというのは特殊なハードで、CPUを二つ積んでいた&lt;br /&gt;
（描画用と処理用？）らしいので今までは凄く重かったんです。&lt;br /&gt;
&lt;br /&gt;
しかし、さすがはデュアルコアCPU&amp;hellip;普通に実用レベルの動作をする&lt;br /&gt;
&lt;br /&gt;
&amp;hellip;でも動いたのに、何故かサターンのゲームは実機でやりたくなる。&lt;br /&gt;
まあ、RPGくらいならいいかな&amp;hellip;という程度。&lt;br /&gt;
&lt;br /&gt;
皆さんも暇なら動かしてみては？&lt;br /&gt;
今なら、サターンのソフト激安っすよ（ぁ&lt;br /&gt;
&lt;br type=&quot;_moz&quot; /&gt;</description> 
      <link>http://bypath.blog.shinobi.jp/%E9%9B%91%E8%A8%98%E3%80%82/ssf%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F</link> 
    </item>
    <item>
      <title>終了コード</title>
      <description>■Ｃ＋＋のカテゴリとして正しいかは微妙だけど、とりあえず。&lt;br /&gt;
&lt;br /&gt;
コマンドプロンプトや、他のツールから、ＥＸＥをキックした際に、&lt;br /&gt;
戻ってくる終了コードが取得できない現象。&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ウインドウアプリケーション&lt;br /&gt;
ウインドウを持たない、コンソールアプリケーションであれば、&lt;br /&gt;
コマンドプロンプトにて、&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TEST.EXE&amp;nbsp;&lt;br /&gt;
echo %ERRORLEVEL%&lt;br /&gt;
&lt;br /&gt;
と実行すれば、終了値を見ることが出来ます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
けれども、ウインドウを持っているアプリケーションで同じコマンドを実行しても、&lt;br /&gt;
終了値をとることは出来ません。&lt;br /&gt;
&lt;br /&gt;
ですが、そのコマンドを「バッチファイル」に書いて実行すれば、終了コードをとることが&lt;br /&gt;
できる&amp;hellip;なぜだ。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■結論から言うと。&lt;br /&gt;
&lt;br /&gt;
ウインドウアプリケーションの場合、&lt;br /&gt;
&lt;br /&gt;
start /wait TEST.EXE&lt;br /&gt;
echo %ERRORLEVEL%&lt;br /&gt;
&lt;br /&gt;
とすれば終了コードをとることができる。&lt;br /&gt;
start /wait &amp;nbsp; というのは、要はアプリケーションが終了するまで待っておけ、ということ。&lt;br /&gt;
これを明示的にしないと、コマンドプロンプトと実行したアプリケーションで同期が取れず、&lt;br /&gt;
終了コードを取得することが出来ない。&lt;br /&gt;
&lt;br /&gt;
「バッチファイル」に記述した場合に、終了コードをとることが出来たのは、&lt;br /&gt;
「バッチファイル」は一行ごとに終了待ちして同期を取っているかららしい。&lt;br /&gt;
&lt;br /&gt;
&amp;hellip;まあ、よく考えたら、そりゃそうだわな・・・という話。　</description> 
      <link>http://bypath.blog.shinobi.jp/c---c-/%E7%B5%82%E4%BA%86%E3%82%B3%E3%83%BC%E3%83%89</link> 
    </item>
    <item>
      <title>ベアルファレス　イヴルート</title>
      <description>■適当にキャラ攻略。&lt;br /&gt;
「わかるわけねーよｗ」みたいなキャラもいるんで、メモメモ。&lt;br /&gt;
&lt;br /&gt;
魔法のオネーサンのイヴ。&lt;br /&gt;
とりあえず、前半は全く戦力にならんのですが、後半にライトソードを覚えてからは&lt;br /&gt;
かなり使える。&lt;br /&gt;
&lt;br /&gt;
&amp;hellip;ただ、このゲーム自体が戦闘の難易度はヌルメなので、主人公無双してればクリアできる。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ルート。&lt;br /&gt;
&lt;br /&gt;
①教会に呼ばれて、「ラフメルの葉」の採集の手伝いをするか？&amp;hellip;の選択肢で、「断る」&lt;br /&gt;
&lt;br /&gt;
②一人（orレイアは誘えた）で、ダンジョンに入る。&lt;br /&gt;
「くだらない脅迫」のミッション後に、「雫の石」を手に入れて、&lt;br /&gt;
「ラフメルの葉」をとりに行く。&lt;br /&gt;
※このミッションにイヴは誘えない。また、ミッション後にディアスとレイアが離脱。&lt;br /&gt;
&lt;br /&gt;
③インディゴスをイヴと倒した　＋　旅の目的が「武者修行」の場合、&lt;br /&gt;
主人公一人でイヴを誘いに行くと会話。&lt;br /&gt;
選択肢で「君と付き合うのも修行のうち」を選択。&lt;br /&gt;
※発生条件には好感度も関わっているらしい。発生時期の詳細は知らんス(&amp;acute;・&amp;omega;・`)&lt;br /&gt;
&lt;br /&gt;
④太陽の神殿後の選択で『手伝うつもりはない』を選択。&lt;br /&gt;
&amp;rarr;断った後、イヴを誘って二人で「西の斎殿」に突入。&lt;br /&gt;
&amp;rarr;突入後の会話中の選択肢で、「期待されるのが嫌」を選択。&lt;br /&gt;
&lt;br /&gt;
⑤後半でルカが離脱するイベントで、ルカを「説得しない」。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
もう、この人のルートの選択肢、むちゃくちゃ。&lt;br /&gt;
普通にやってたら、あまり選ばない選択肢のオンパレード。&lt;br /&gt;
「僕、勇者(&amp;acute;&amp;forall;｀)！」&amp;hellip;という人にはオススメできない。&amp;nbsp;</description> 
      <link>http://bypath.blog.shinobi.jp/%E3%82%B2%E3%83%BC%E3%83%A0%E6%94%BB%E7%95%A5%E3%83%A1%E3%83%A2/%E3%83%99%E3%82%A2%E3%83%AB%E3%83%95%E3%82%A1%E3%83%AC%E3%82%B9%E3%80%80%E3%82%A4%E3%83%B4%E3%83%AB%E3%83%BC%E3%83%88</link> 
    </item>
    <item>
      <title>ベアルファレス　攻略メモ１</title>
      <description>■ＰＳＰのゲームアーカイブスで「ベアルファレス」をダウンロードして遊んでいたので、&lt;br /&gt;
その攻略メモをば&amp;hellip;。&lt;br /&gt;
&lt;br /&gt;
あまり情報がないから困る(&amp;acute;・&amp;omega;・`)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■キャラメイク&lt;br /&gt;
①上級貴族&lt;br /&gt;
細剣＋逆剣で二刀流ができる。恐ろしい火力。出が早く、距離も長い。&lt;br /&gt;
&lt;br /&gt;
②農民&lt;br /&gt;
大剣。攻撃範囲が広いので当てやすい。敵をまとめて吹っ飛ばせるので楽。&lt;br /&gt;
&lt;br /&gt;
とりあえず、キャラは上の二択が無難な気がする。&lt;br /&gt;
もしくは、猟師にして「弓」を使うのもアリか。&lt;br /&gt;
&lt;br /&gt;
「弓」だと、ラスボスを相手に一方的に、俺ＴＵＥＥＥＥＥができるらしい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■面倒なミッション&lt;br /&gt;
○「ラフメルの葉」&lt;br /&gt;
&lt;br /&gt;
アッシュの妹の薬の材料を取りに行くミッション。&lt;br /&gt;
宝箱があるけど、大したモノじゃないので、別にスルーしてもＯＫ。&lt;br /&gt;
金になるので、余裕があるなら確保。&lt;br /&gt;
キュアポイズンを2、30個くらい 用意しておくと楽。余裕があるならポーションも。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
○「鋼鉄の審問者」&lt;br /&gt;
&lt;br /&gt;
このミッションに参加することが、ＥＤの最低条件。メンドイ。&lt;br /&gt;
戦闘前にウォーターボトルを大漁に買い込んでおくと吉。第一形態は地道に岩をぶつける。&lt;br /&gt;
第二形態は、「体」がジャマなので、通常攻撃でさっさと撃破。&lt;br /&gt;
「頭」が無駄に素早くて当てにくいので、ガレキの間に押し込んで逃げ場を封じてフルボッコ。&lt;br /&gt;
または、「バキューム」で足止めして斬り殺す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
○「選ばれし騎士たち」&lt;br /&gt;
&lt;br /&gt;
敵を一匹も殺してはいけないミッション。正直ダルイ。&lt;br /&gt;
アイス系や、オイル系のトラップで足止めして進めるのがスタンダードらしい。&lt;br /&gt;
魔法キャラがいたら、氷系の魔法で凍らせながら進んでも可。&lt;br /&gt;
&amp;hellip;が、実際には主人公の「バキューム３」があったら、普通にいける。&lt;br /&gt;
適当に設置して、敵を吸い込んで、その隙に突破。　&lt;br /&gt;
自分が吸い込まれた＼(^o^)／　なので、気をつける(&amp;acute;・&amp;omega;・`)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
○「神の世界」&lt;br /&gt;
&lt;br /&gt;
なんかラストミッション。ラスボスはほとんどチートみたいな動きをする。&lt;br /&gt;
とりあえず、フリップパネルを利用して接近&amp;rarr;斬るを適当に繰り返す。&lt;br /&gt;
ラスボスのお約束で第三形態まである。&lt;br /&gt;
Ｌｖ５０くらいあったら、だいたい各形態２，３発で沈む。&lt;br /&gt;
&lt;br /&gt;
&amp;hellip;バキューム３で足止めはできるけど、敵の攻撃が激しいので、正直それどころじゃない。&lt;br /&gt;
魔法キャラがいるなら、第一、第二形態は、適当にソード系の魔法を乱打してれば楽勝。&lt;br /&gt;</description> 
      <link>http://bypath.blog.shinobi.jp/%E3%82%B2%E3%83%BC%E3%83%A0%E6%94%BB%E7%95%A5%E3%83%A1%E3%83%A2/%E3%83%99%E3%82%A2%E3%83%AB%E3%83%95%E3%82%A1%E3%83%AC%E3%82%B9%E3%80%80%E6%94%BB%E7%95%A5%E3%83%A1%E3%83%A2%EF%BC%91</link> 
    </item>
    <item>
      <title>GoogleChrome</title>
      <description>&amp;nbsp;■ようやく、&lt;a href=&quot;http://www.google.com/chrome/index.html?hl=ja&amp;amp;brand=CHMA&amp;amp;utm_campaign=ja&amp;amp;utm_source=ja-ha-apac-ja-bk&amp;amp;utm_medium=ha&amp;amp;utm_term=google%20chrome&quot;&gt;GoogleChrome&lt;/a&gt;が正式版になったようです。&lt;br /&gt;
&lt;br /&gt;
そんなわけで、サブノートに導入しました。&lt;br /&gt;
&lt;br /&gt;
メインマシンは相変わらずOperaなんですが、サブノートは極力軽快に動作するものを使用したかったので、、&lt;br /&gt;
&lt;br /&gt;
&amp;beta;版も少し触ったことがあって、そのときからなんともいえない「ヌメッ」とした動作、、、（なんじゃそりゃ）は、結構気に入ってました(&amp;nbsp;&amp;acute;&amp;forall;｀)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■問題点があるとすれば。&lt;br /&gt;
&lt;br /&gt;
OperaやSleipnirなんかのタブブラウザでは、もはや標準機能となっている、&lt;br /&gt;
&lt;br /&gt;
マウスジェスチャー機能がGoogleChromeには搭載されていないっていうこと。&lt;br /&gt;
&lt;br /&gt;
、、、なんというか、普段から慣れ親しんでいると、あの機能がないと非常に使いづらい。&lt;br /&gt;
&lt;br /&gt;
どうにかできないものかな～と探していたら、、、、あるじゃないか。&lt;br /&gt;
&lt;br /&gt;
タスクトレイに常駐してマウスの軌道を判定してくれるやつが、、、&lt;br /&gt;
&lt;br /&gt;
・&lt;a href=&quot;http://www.forest.impress.co.jp/lib/sys/hardcust/mouse/kazaguru.html&quot;&gt;かざぐるマウス&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
インストーラーとかもなくて、ダブルクリックしたら起動する(&amp;acute;・&amp;omega;・｀)&lt;br /&gt;
&lt;br /&gt;
あとは設定画面を開いて、有効にするブラウザと、各ボタンや動作に機能を割り振っていくだけ。&lt;br /&gt;
&lt;br /&gt;
&amp;hellip;&amp;hellip;便利な世の中になったもんじゃ～。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■まあ、ほかにも問題、、、というか疑問がなくもない。&lt;br /&gt;
&lt;br /&gt;
このGoogleChromeって、インストールするときにどこにインストールするのか聞かれない。&lt;br /&gt;
&lt;br /&gt;
リンクをたどっていくと、、、個人の作業フォルダの奥にぶっこんである、、、。&lt;br /&gt;
&lt;br /&gt;
&amp;quot;C:\Documents and Settings\&amp;lt;Account Name&gt;\Local Settings\Application &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Data\Google\Chrome\Application\chrome.exe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
...なんでこんなところにぶっこんでるんだ...。&lt;br /&gt;
&lt;br /&gt;
なんか、閲覧履歴をGoogleに送るとか、そういう話もあった気が。&lt;br /&gt;
&lt;br /&gt;
オープンソースのブラウザっていう割には、そのあたりがぜんぜんオープンじゃない！&lt;br /&gt;
&lt;br /&gt;</description> 
      <link>http://bypath.blog.shinobi.jp/%E9%9B%91%E8%A8%98%E3%80%82/googlechrome</link> 
    </item>
    <item>
      <title>遅延ロード。</title>
      <description>■ＤＬＬの遅延ロード。&lt;br /&gt;
&lt;br /&gt;
Windows95-Vista全てで動作を保証するツールなんかを作ってると、&lt;br /&gt;
95ではDLLが足りなくて、うまく動かないこととかあります。&lt;br /&gt;
&lt;br /&gt;
WIndows95ではVistaで動かした時に比べて、「機能が落ちる」こと&lt;br /&gt;
があるのは仕方がないにしても、「動かない」分けにはいかない。&lt;br /&gt;
&lt;br /&gt;
たいてい、そういう時は「ＤＬＬが足りなくて～&amp;hellip;」みたいなエラー&lt;br /&gt;
になるがことがおおいので、遅延ロードの出番(&amp;acute;・&amp;omega;・`)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■とりあえず、VC6++でやりました。&lt;br /&gt;
&lt;br /&gt;
// 遅延ロード用ライブラリのヘッダ&lt;br /&gt;
#include &amp;lt;delayimp.h&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
// 遅延ロード用ライブラリの読み込み&lt;br /&gt;
#pragma comment (lib,&amp;quot;delayimp.lib&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
// 遅延ロードするDLL&lt;br /&gt;
#pragma comment (linker, &amp;quot;/DELAYLOAD:hogehoge.dll&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
こんな感じのコードを書いてやれば、必要な時にDLLをロードするようになるみたいです。&lt;br /&gt;
VC7以降は、プロジェクトの設定でdelayimp.libをリンクし、リンカオプションに /delayload: &amp;quot;遅延ロードするDLL名&amp;quot;を書くみたいです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
内部的には、動的にロードするのと変わりない動作をしているみたいです。&lt;br /&gt;
&lt;br /&gt;
&amp;hellip;いちいち、自分で動的にロードしようとしていた一時間を返せ＼(^o^)／&lt;br /&gt;</description> 
      <link>http://bypath.blog.shinobi.jp/%E9%9B%91%E8%A8%98%E3%80%82/%E9%81%85%E5%BB%B6%E3%83%AD%E3%83%BC%E3%83%89%E3%80%82</link> 
    </item>
    <item>
      <title>VC6 と VC8</title>
      <description>■まあ、久しぶりにメモメモ。&lt;br /&gt;
ちょっと、Ｃ＋＋で困ったことがあったのでメモメモ。&lt;br /&gt;
&lt;br /&gt;
Visual Studio 2005 ( VC++8.0 )でビルドした、libファイルを&lt;br /&gt;
&lt;br /&gt;
Visual Studio 6.0 ( VC++6.0 ) のプロジェクトにリンクしようとしたところ、&lt;br /&gt;
&lt;br /&gt;
外部参照エラーが出ました(&amp;acute;・&amp;omega;・`)&lt;br /&gt;
&lt;br /&gt;
原因は何か～、という話になって。&lt;br /&gt;
どうやら悪いのは、CStringらしいという話になりました。&lt;br /&gt;
Visual Studio 2005 と Visual Studio 6.0 のCString型では、どうやら実装が異なっているようでして。&lt;br /&gt;
Visual Studio 2005で作成したlibの関数に、戻り値がCString型のヤツがあると、リンクできないという現象に＼(^o^)／&lt;br /&gt;
&lt;br /&gt;
普通に、LPTSTR とか使ってやっておくべきだったという話デスネ。&lt;br /&gt;
&lt;br /&gt;
■CString型っていうのは便利です。&lt;br /&gt;
UNICODEだろうが、マルチバイト文字だろうが意識せずに扱えるので便利なんですが、&lt;br /&gt;
あくまでも、あれはVisual Studioが用意したクラスなんで、こういうときに困りものなんだなぁ、&lt;br /&gt;
と実感した今日この頃。&lt;br /&gt;
&lt;br /&gt;
皆さんも気をつけましょう。</description> 
      <link>http://bypath.blog.shinobi.jp/c---c-/vc6%20%E3%81%A8%20vc8</link> 
    </item>
    <item>
      <title>C++ : 文字列のコピー</title>
      <description>■C言語で文字列のコピーと言ったら、&lt;br /&gt;
&lt;br /&gt;
strcpy , _tcscpy_s　&lt;br /&gt;
&lt;br /&gt;
とか使いますが、 Windowsにおいてはもうちょっとイロイロ意識しなくちゃいけません。&lt;br /&gt;
&lt;br /&gt;
基本的に、SHIFT-JISを使っている場合が多いので、一概に&amp;rdquo;文字列&amp;rdquo;と言っても、１Byte文字と２Byte文字が混在していることが多いのです(&amp;acute;・&amp;omega;・`)&lt;br /&gt;
&lt;br /&gt;
&amp;rdquo;文字を何文字コピー&amp;rdquo;なら大して意識しなくてもいいんですが、&lt;br /&gt;
&amp;rdquo;文字を何Byteコピー&amp;rdquo;の場合は、このあたりを意識して欠かなくちゃいけません。&lt;br /&gt;
&lt;br /&gt;
UNICODEだったらそんな問題もないんですが&amp;hellip;＼(^o^)／&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■んで、どうしたかというと。&lt;br /&gt;
&lt;p id=&quot;f0vz&quot;&gt;LPTSTR lstrcpynEx(LPTSTR lpszDest, LPCTSTR lpszSrc, int iSize)&lt;br id=&quot;f0vz6&quot; /&gt;
{&lt;br id=&quot;f0vz7&quot; /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; // 0Byteのコピーはありえない &lt;br id=&quot;f0vz8&quot; /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; // 1Byteコピーの場合は先頭にNULLを格納して返却&lt;br id=&quot;f0vz9&quot; /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(iSize &amp;lt;= 0)&lt;br id=&quot;f0vz10&quot; /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return NULL;&lt;br id=&quot;f0vz11&quot; /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; if(iSize == 1){&lt;br id=&quot;f0vz12&quot; /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *lpszDest = '\0';&lt;br id=&quot;f0vz13&quot; /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return lpszDest;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p id=&quot;f0vz15&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; BOOL bFind = FALSE;&lt;br id=&quot;f0vz16&quot; /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; for(int i=0 ; i&amp;lt;iSize-1 ; i++){&lt;br id=&quot;f0vz17&quot; /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(!bFind &amp;amp;&amp;amp; (_istlead((unsigned int)lpszSrc[i]) != 0))&lt;br id=&quot;f0vz18&quot; /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bFind = TRUE;&lt;br id=&quot;f0vz19&quot; /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;br id=&quot;f0vz20&quot; /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bFind = FALSE;&lt;br id=&quot;f0vz21&quot; /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lpszDest[i] = lpszSrc[i];&lt;br id=&quot;f0vz22&quot; /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br id=&quot;f0vz23&quot; /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; if(bFind)&lt;br id=&quot;f0vz24&quot; /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lpszDest[iSize-2] = '\0';&lt;br id=&quot;f0vz25&quot; /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;br id=&quot;f0vz26&quot; /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lpszDest[iSize-1] = '\0';&lt;/p&gt;
&lt;p id=&quot;f0vz27&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return lpszDest;&lt;br id=&quot;f0vz28&quot; /&gt;
}&lt;/p&gt;
&lt;br /&gt;
NByteの文字をコピーする場合に、&lt;br /&gt;
文字列を戦闘から精査していって、NByte目の文字が２Byte文字の先行Byteかどうか判断して&lt;br /&gt;
コピーするByte数を決めるやり方。&lt;br /&gt;
&lt;br /&gt;
Windowsプログラミングだと、&amp;quot;N文字コピー&amp;rdquo;よりも&amp;quot;NByteコピー&amp;quot;をすることのほうが&lt;br /&gt;
多い気がするので&amp;hellip;。&lt;br /&gt;
&lt;br /&gt;
もうちょっとステップ数は削れるような気もするけど、あまり削っても分かりにくくなるので、これくらいで(&amp;acute;・&amp;omega;・`)ｂ&lt;br /&gt;
&lt;br /&gt;
気に入らない人は改良してクダサイ。</description> 
      <link>http://bypath.blog.shinobi.jp/c---c-/c--%20-%20%E6%96%87%E5%AD%97%E5%88%97%E3%81%AE%E3%82%B3%E3%83%94%E3%83%BC</link> 
    </item>

  </channel>
</rss>