DLL一覧機能

既にDLLが21個にもなっています。

コマンドラインツールでは、-ver というオプションでDLLのバージョン一覧が出るわけですが、これを改良してみた。
折角ですので、STLの使い方の説明などもかねて紹介してみましょう。


使用中のDLLは、CES-ID、CCS-IDからDLL名を引くためのTSVファイルgtefdll.lstから得る。
これを順次、set<string> に格納する。

終わったら、ここにない lib_encchk.dll を手作業で加えた後、イテレータを使って順番に表示する。
勝手に昇順でソートが掛かっているうえ、重複も排除されるので、とても楽です。

ファイルから読み、必要な部分を切り出して、


item.insert(str);


とだけして、どんどん追加すればよい。


終わったら、今度はsetから順にDLL名を得て、DLLのバージョン取得APIを使ってバージョンを得て、これを表示する処理に入ります。


set<string>::iterator it = item.begin();
set<string>::iterator ite = item.end();
for (; it != ite; ++it)
{
// ファイル名は *it で得られる
}


ここまでは良かったけど、バージョンだけでなく、各DLLの使い道も表示したくなった。
そこで、バージョンリソースのCommentsに用途を書き、これをWindowsのGetFileVersionInfo() APIなどを使って得る処理を書いてみた。
Wide版APIとなり、かなり難儀しましたが、一応完成してみて、ふと気付く。
これは移植性がないなぁ
しかも無駄すぎる。

結果として、バージョン取得APIを仕様変更し、char *とsize_tを渡して、ここにコメントが得られるようにし、これを合わせて表示するようにしたのでありました。

現時点では、こんな感じで表示される。


gTef version 0.01 alpha

lib_ctrl.dll version 0.0.1.0 Control
lib_encchk.dll version 0.0.1.0 Encode Checker
lib_symbol.dll version 0.0.1.0 Symbol
lib_tron.dll version 0.0.1.0 Tron Code
lib_unicode.dll version 0.0.1.0 Unicode
lng_ar.dll version 0.0.1.0 Arabic
lng_el.dll version 0.0.1.0 Greek
lng_gu.dll version 0.0.1.0 Gujarati
lng_he.dll version 0.0.1.0 Hebrew
lng_hi.dll version 0.0.1.0 Hindi
lng_hy.dll version 0.0.1.0 Hayeren
lng_ja.dll version 0.0.1.0 Japanese
lng_ka.dll version 0.0.1.0 Georgian
lng_ko.dll version 0.0.1.0 Korean
lng_la.dll version 0.0.1.0 Latin
lng_pa.dll version 0.0.1.0 Punjabi
lng_ru.dll version 0.0.1.0 Cyrillic
lng_th.dll version 0.0.1.0 Thai
lng_tr.dll version 0.0.1.0 Turkish
lng_vi.dll version 0.0.1.0 Vietnamese
lng_zh.dll version 0.0.1.0 Chinese

2009/02/04(水)16:27 |Comments(0) |Trackback(0)

C++ | プログラミング | コンピュータ | [編集]

▲ページトップ

コメント

コメントの投稿

Emoji Symbols: Background Data ホーム TRONコード関係
トラックバック

この記事にトラックバックする(FC2ブログユーザー)
▲ページトップ

カレンダー

07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

プロフィール

miraicorp

Author:miraicorp
未来情報産業(株) 社長

主として「ICカードこれひとつ」や「文字、文字コード」処理、時々C++などについて記述しています。

twitterツイッター

管理用

検索フォーム

お知らせ

コメント等お気軽にどうぞ。

気に入ったら拍手して頂けると、今後の記事を書く際の参考や励みになります。

■お仕事を募集しております
ソフトウェア製造の仕事や、原稿執筆の仕事などを随時受け付けております。
お気軽にご相談下さい

■初めての方へ
こまごまと更新しているため、他にも関連する記事があるかもしれません。
「月別アーカイブ」「検索フォーム」「カテゴリ」などをお試し下さい。
トップページはこちら

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

広告枠

メール

メールはこちら

リンク

このブログをリンクに追加する

RSSリンクの表示

QRコード

QR