Written in Japanese(UTF-8)
2014.8.30
INASOFT
2014.8.30
INASOFT
/トップ/ListView to CSV/ダウンロード/WebHelp/ヘルプトップ
ListView to CSVを作ってみよう!!
ListView to CSVの簡単なコマンドライン版を作ってみようという、プログラミング解説講座です。
第0回
→第1回へ
■ご紹介
ListView to CSVは、環境上に存在する任意のリストビューを、CSVファイル(カンマ区切りテキスト または タブ区切りテキスト)へ出力するためのソフトウェアです。
■ここはどんなページか?
ListView to CSVの簡単なコマンドライン版を作ってみようという、プログラミング解説講座のページです。
使用する言語はC++、コンパイラはVisual C++ .NET 2003を使用します。他の言語、他のコンパイラでも使用できる内容はあると思いますが、他のコンパイラでの動作確認は行っておりませんので、あしからず。また、他の言語については、私の知識不足と言うこともあり、質問されても答えることができませんので、これもまたあしからず。
■どんなソフトを作るか?
ListView to CSVの簡単なコマンドライン版の作成を通し、プロセス間のメモリの共有の仕組みや、他のウィンドウ内のコントロールの様子をのぞき見る仕組みについて解説していこうと思います。このソフトウェアの簡単な設計は、次のようにします。
- プロジェクト名:LVCSVCOM
- 概要 :Win32上で使用できるコマンドライン版のプログラム
- 対象OS:Windows 95/98/Me/NT 4.0/2000/XP/Server 2003
- 内容 :引数なしでコマンドラインを実行すると、リストビュ コントロールーのハンドル番号と、リストビュー コントロールが所持するアイテムの個数と、リストビュー コントロールを所持するウィンドウのタイトルバーの文字列が表示される。リストビュー コントロールのハンドル番号を引数にコマンドラインを実行すると、リストビュー コントロールの内容がカンマ区切りでコンソールへ出力される。
上記のことを行うためには、下記の特殊な手段が必要になります。
- 環境上のリストビュー コントロールを列挙する方法。
- 他のプロセス上のリストビュー コントロールから文字列を取得する方法。
- 他のプロセスとメモリを共有するか、他のプロセス上にメモリを確保し、読み書きをする方法。
- Windows 9x上では利用不能なAPIをWindows NT上で利用し、Windows 9xでは代替手段を用いる方法。
■次回は?
次回は、早速、「環境上のリストビュー コントロールを列挙する方法」について解説していきたいと思います。ここでは「コールバック関数」という概念が登場するのですが、詳しい原理を難しく考えずに、とりあえず記号を並べればいいや程度でやっていけばいいかと思います。
なお、掲載するコードのサンプルは、Visual C++ .NET 2003 にて利用可能なもので行います。他の言語、他の処理系については、読者の方で適当に解釈してください。
ここに記載の内容は2005年に書かれたものです。そのため、内容の一部が古くなっていることがありますのでご注意ください。例えば、
- ユーザーアカウント制御(UAC)下では、一般権限のプログラムは、管理権限のプログラムから情報を取得することができません。サンプルプログラム適用時にはご注意ください。
- 本サンプルプログラムは、x86環境下での動作を前提としています。x64環境下ではポインタサイズなどを原因とするいくつかの問題が発生しますのでご注意ください。→詳細
※このページは、ソフトウェアに付属のヘルプファイルをWeb用に再構築したものです。大部分に自動変換を施しているため、一部は正しく変換しきれずに表示の乱れている箇所があるかもしれませんが、ご容赦下さい。また、本ドキュメントはアーカイブドキュメントであり、内容は、右上の作成日付の時点のものとなっております。一部、内容が古くなっている箇所があるかと思いますが、あらかじめご了承下さい。
※このページへは、自由にリンクしていただいてかまいません。
■このページに関するご意見をお待ちしております → フィードバックページ