hinekure.net が http://hspdev-wiki.net/ から自動クローリングした結果を表示しています。画像やリソースなどのリンクが切れています。予めご了承ください。
MakeHPI/VC++/chapter2 - HSP開発wiki
トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS

MakeHPI/VC++


プラグインからWin32 API MessageBox?()を呼び出す

  • スクリプトに
    msgbox
    と書けばプラグインで用意した(固定された)メッセージボックスを表示するhsmsgboxプラグインを作ります。

作業手順

HSP3SDKのサンプルのインストール先が次の場所であると仮定して解説します。
<HSPSDKインストールフォルダ>\hspsdk31\sample\hpi3sample

新規ソリューションを作成する

  • スタート → Visual C++ 9.0 Express Edition → Microsoft Visual C++ 2008 Express Edition
    として通常通りVC++を起動します。
  • [メニュー]:ファイル → 新規作成 → プロジェクト
    新しいプロジェクトダイアログが開く。
  • 「Win32プロジェクト」を選択。プロジェクト名に「testdll」と入力してok。(適当なプロジェクト名でいいが説明のためこの名前にしている。)
    Win32アプリケーションウィザードが開く。次へ。
  • アプリケーションの種類:DLL
    追加のオプション:空のプロジェクト
    を選択。完了。

必要なファイルをそろえる

  • ソリューションエクスプローラのプロジェクトを右クリック → 追加 → 既存の項目
    ファイルダイアログが開く
  • <HSPSDKインストールフォルダ>\hspsdk31\sample\hpi3sample
    を開いて、
    "hsp3plugin.cpp" "hsp3debug.h" "hsp3plugin.h" "hsp3struct.h" "hspvar_core.h" "hspwnd.h"
    を選択して、開く。

プロパティを設定する

  • [メニュー]:プロジェクト → プロパティ
    (ソリューションエクスプローラのプロジェクトを右クリック → プロパティでもいい。)
    プロパティページダイアログが開く。
  • 構成(C):すべての構成
  • 構成プロパティ → C/C++
    追加のインクルードディレクトリ:<HSPSDKインストールフォルダ>\hspsdk31\sample\hpi3sample
    と、さっきhsp3plugin.cpp等が置いてあったフォルダを指定してパスを通す。
  • 構成プロパティ → 全般
    文字セット:マルチバイト文字セットを使用する
  • 構成プロパティ → C/C++ → 全般
    64ビット移植への対応:いいえ
  • 構成プロパティ → C/C++ → コード生成
    ランタイムライブラリ:マルチスレッド(/MT)
    初期XP以前のWindowsへの対応のため。
  • OKをクリックして閉じる。

コードを書く

  • ソリューションエクスプローラのソースファイルを右クリック → 追加 → 新しい項目
    新しい項目の追加ダイアログが開く。
    コードから、「C++ファイル(.cpp)」を選択してmain.cppと入力する。適当なファイル名でいいが、説明のためこの名前にしている。
  • 追加。
  • 作成されたメインソース用ファイルに、下のソースリストにあるmain.cppの内容をコピーして貼り付ける。

コンパイル

ビルドしてみます。
[メニュー]:メニュー → ビルド → ソリューションのビルド

ビルド結果が、「ビルド: 1 正常終了、0 失敗、」と表示されれば成功。
Debugフォルダにtestdll.dllが作成されているはずです。

dlltest.hspをtestdll.dllと同じ場所に置く。
dlltest.hspを開いて、実行。
エラーが出ずに、メッセージボックスが開けば成功です。

ソースリスト

+  main.cpp:VC++のメイン
+  dlltest.hsp:HSPのスクリプト

補足説明

通常は、プラグイン作成に必要なこれらのファイルは内容を変更することはありません。
"hsp3plugin.cpp" "hsp3debug.h" "hsp3plugin.h" "hsp3struct.h" "hspvar_core.h" "hspwnd.h" そのため今回は、ファイルへ直接リンクさせる方法での説明としました。
作成しているソリューションのフォルダ内にこれらのファイルをコピーしてしまえば、パスを通す必要はありません。
都合のいい方法でご利用ください。

メインソースを作成するときは、hpi3sampleのmain.cppがとても参考になります。
これをベースに作成していくといいでしょう。

コメント


URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS
Last-modified: 2009-01-14 (水) 00:32:54 (1789d)