浮気中さんのレジメを追試しようとしたが、途中でわからなくなったので断念。
モジュール定義ファイルって何?
で、別のレジメ。
1 VC2008EEを起動
2 スタートページを閉じる
3 ファイル→新規作成→プロジェクト
4 「Win32」をクリック
5 「Win32 プロジェクト」をクリック
6 プロジェクト名:testdll2
7 「ソリューションのディレクトリを作成」のチェックを外す
8 場所は「C:\VcProject」になっていたのでそのままにする
9 OK
10 「アプリケーションの設定」をクリック
11 DLL (D)をクリック
12 完了
13 エディタに入力
#include <direct.h>
#define EXPORT extern "C" __declspec (dllexport)
EXPORT BOOL WINAPI deletedir(char* dir,int p2,int p3,int p4)
{
return _rmdir(dir);
}
14 F7キーを押す
Debugフォルダにtestdll2.dllがでけた。
15 testdll2.dllをよそのフォルダに持っていって以下のスクリプトを実行。
動かん(T_T)
「DLLの呼び出しに失敗しました」
16 自前のPEアナライザでtestdll2.dllのエクスポート関数を調べる
「_deletedir@16」と表示されたので問題なし
17 スクリプトを見直す
DLL名が間違ってやんの
18 DLL名修正
「ファイルが見つからないか無効な名前です」
DLL名を間違えてても出ないエラーがDLL名を正しくしてから出るとは?
19 エラーメッセージをよく見る
おや、DLL名が書いてある2行目ではなく5行目の「makedir」でエラーが出ている。
そうか、さっきできたフォルダが残っているので作れないと言ってるのか。
20 さっきできたフォルダを削除
動いた
#uselib "testdll2.dll"
#func deldir deletedir 1
dir="testdir"
mkdir dir
dialog dir+"フォルダができていることを確認してください"
deldir dir
end