何やらウィルスとかトロイの木馬とか心配になったので、起動しているプロセスから自分が理解できていないものをチェックしてみた。(ウィルスチェッカはインストールしてあるけど、やっぱり心配)
・realsched.exe - RealOne Player関連。参考: RealOne Playerはスパイウェア?
・SAgent2.exe - エプソンのプリンタ関連。C:\Program Files\Common Files\EPSON\EBAPI あたりに置いてある。
smss.exe が2つある……と思ったら、ひとつはサービスパックのファイルだった。これでモジュールのアップデートをしているというわけね。
っていうか、ベースネームって何?
MSDNには載ってないのかな……
Using and Porting the GNU Compiler Collection (GCC)には「ファイルのベース名とは、ファイル名から、前にあるすべてのパスの情報と後ろにある`.h'、 `.C'、 `.cc'のような接尾辞を取り除くことによって得られる名前のことです」とある。FileSystemObjectオブジェクトのプロパティとメソッドには「ベース名とは、ファイル名のうち拡張子(ピリオドを含む)を除く文字列です。」とある。ほぅほぅ。
んで、175030 - [SDK32] Win32 でアプリケーションを列挙する方法:には、「Windows NT でプロセスのリストを作成する場合は、PSAPI.DLL で提供する関数を使用します。」とある。あれ? Windows2000でも? → で、ファイルを検索してみると → Windows2000自体にはpsapi.dllはあるけど、psapi.hとライブラリファイルは見つからない。WideStudioには、psapi.hがあるみたいだけど、これはMS標準ではないのでとりあえずおいといて。Platform SDK UpdateでSDKをダウンロードすればDLLを使わずに、GetModuleBaseName関数が使えないかな。
わかりやすいサンプルコード → GetModuleBaseName モジュールのベース名を取得
_ ∩ ( '∀')彡 ゴッゴル! ゴッゴル! ( ⊂彡 | | し/⌒J
ヅラがずれたらエラいこっちゃ!
書き手: NI-Lab.
ベースネームとは?