フリーウェア、シェアウェアを作成するにあたり、私ぐっちーが必要にせまられて調べた Visual C++ Tips 集です。 内容がまちまちで、且つ不定期です(^^;) 基本的に解説は全てソースコードのコメントとして記載しています。 詳細はソースコードをダウンロードの上、ご確認ください。
【使用上の注意 1】
本ページで記載される内容、ソースコード、実行ファイルはVisual
Studio .NET Professional MSDN Deluxe Edition 付属のVisual
C++ .NET で作成・確認されたものです。実行ファイルは Win32 プラットフォームでコンパイルされています。
【使用上の注意 2】
ご利用は自由に行うことが出来ます。なお、本公開のソースコードを用いて発生する、いかなる障害についてもアイディア&&テクノロジーでは責任持ちません。自己責任において採用くださいますよう、お願い申し上げます。
#でもバグ報告はちょーだい。
Visual C++ Tips 目次
HTTPでサーバー側ファイルを取得したりCGI呼び出しを行う方法
ダウンロード:
解説:
MFC には HTTP / FTP 等を行うラッパークラスがあります。今回、表題を実現するために、以下のクラスを用いて実現しています。
- CInternetSession
- CHttpConnection
- CHttpFile
このサンプルプログラムを起動すると、ダイアログボックスが開き、サーバー(http://www.nurs.or.jp/~mikiko/)にあるテキストファイルの取得とCGI 呼び出しの各々がテストできます。
なお、呼び出される CGI は Perl で書かれており、下記通りです。現在時間を文字列に加えて、呼び出し側アプリケーションに送っています。
#!/usr/bin/perl
##########################
# 時間取得 CGI
########################## $time = localtime(time()); print "Content-type:text/html\n\n"; #アプリケーションに返す文字列 ------------
print <<EOF;
この文字列は、以下の URL で示される CGI によって書かれているものです。
http://www.nurs.or.jp/~mikiko/server_test/timetest.cgi
$time
EOF
#----------------------------------- exit;
↑目次
簡易WEBブラウザを作る
ダウンロード:
解説:
ActiveX を用いれば、インストールされている Internet Explorer のブラウザ表示部を呼び出し、自分の作成プログラムに取り込むことができます。
が、ActiveX っちゅうのも、どうにも扱いが難しい。ソースコードも冗長になりがちです。それに対する Microsoft 社的なソリューションの一つが ATL (Active Template Library)なわけですが、これまた Template を使っているだけに偉い敷居が高い。
で、MFC
には ActiveX のブラウザ周りコンポーネントのラッパークラス CHtmlView があります。
Document - View Architecture が前提となってしまいますが、Wizard で View
のベースクラスを CHtmlView にするだけで、簡単にブラウザっぽいことができます。
(生成されたクラス⇒Viewの基本クラスを変更)
ソースコードよりは実効ファイルを確認してみてください。なお、このサンプルは Internet Explorer 4.0 以降がインストールされている必要があります。
↑目次