こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

gdiplus.dllを使わないプログラム開発

はじめまして、

”Microsoft Visual C++ 2008”にてダイアログベースのプログラムを書いています。

windows2000に対応するために、gdiplus.dllを使用しないプログラムを作成したいのですが、
新規作成したプロジェクトをそのままビルドしただけでもgdiplus.dllが読込まれてしまいます。
読込まなくするには、どのように設定を行なえばよいのでしょうか。
それとも”Visual C++ 2008”ではgdiplus.dllを使用しないダイアログベースのプログラム開発は不可能なのでしょうか。

動作対象OS:win2000(SPなし)以降
開発環境:
言語:Visual C++ 2008(visual studio 2008 professional edition)

テンプレート:MFCアプリケーション
アプリケーションの種類:ダイアログベース

以上、よろしくお願いいたします。

投稿日時 - 2012-05-09 10:29:28

QNo.7466071

困ってます

質問者が選んだベストアンサー

アプリケーションクラス (CHogeApp) の派生元を CWinAppEx から CWinApp に変更すれば
一応 gdiplus.dll は必要なくなりますが、当然CWinAppExでのみサポートされている機能は使えなくなります。
プロジェクトの作成時には変更できないので、プロジェクトを作成した後に変更します。

投稿日時 - 2012-05-10 09:18:14

お礼

CWinAppに変更したところ、読込まれなくなりました。

ありがとうございました。

投稿日時 - 2012-05-11 19:04:27

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

Windows2000など、GDI+がデフォルトでインストールされない環境では「ユーザーがGDI+をインストールする」のが普通です。

なので「GDI+を使わずにプログラミングする必要はない」です。

gdiplus.dllの再配布に関して
http://lamoo.s53.xrea.com/develop/gdiplus/gdiplus.html

Windows2000環境で、ユーザーがgdiplus.dllをインストールするよう指示しているソフトの例
http://club.stocknavi.com/support/faq.php?c=sn&category=general&fq_id=53
http://www7.atwiki.jp/nico_player/pages/16.html

たぶん、GDI+を使わずにプログラミングするには、GDI+を初期化しないバージョンのスタートアップライブラリ、GDI+を使用しないバージョンのGUIライブラリを使用するよう、プロジェクトのライブラリ指定を変更しなければならないと思います。

つまり、アプリケーションの種類をダイアログベースにしないで、ウィンドウの作成や描画をすべて自前で行う必要がある、と言う事です。

因みに、GDI+がネイティブで提供されるようになったのはXP以降ですから、XPが出る前の、GDI+が存在しない時代の古いC++コンパイラでアプリケーションを作成すれば、GDI+を使わないアプリケーションが出来上がります(もちろん、その時代には「ダイアログベース」なんて物は存在しないので、ウィンドゥの作成や描画はすべて自前で記述しないとならない)

投稿日時 - 2012-05-09 12:19:21

お礼

回答ありがとうございました。

投稿日時 - 2012-05-11 19:06:14

あなたにオススメの質問