AutoHotkey スレッド part6

このエントリーをはてなブックマークに追加
868名無しさん@お腹いっぱい。
http://www.multisoft-lab.com/minismtp/index.html
これを使ってメールを送信するスクリプトを作成していてるんですが
DLL内の関数が見つからず(ErrorLevel-4が帰ってくる)送信することができません

readmeの内容をみていろいろ試してみたんですがうまくいきませんでした
○MiniSmtpMailer.dllのメソッド
 1.DWORD SmtpGetVersion();
   バージョン情報の取得メソッドです。DWORD型で返されます。
  MSB(上側)16ビットと下側(LSB)16ビットで構成されています。
  例えば、Ver.1.0の場合はMSB側は1でLSB側は0です。


ver := DllCall("MiniSmtpMailer.DLL\SmtpGetVersion()","Uint")
ver := DllCall("MiniSmtpMailer.DLL\SmtpGetVersion","Uint")
ver := DllCall("MiniSmtpMailer.DLL\SmtpGetVersion();","Uint")
ver := DllCall("MiniSmtpMailer.DLL\DWORD SmtpGetVersion()","Uint")
869名無しさん@お腹いっぱい。:2008/12/13(土) 22:25:07 ID:MgtxRtwq0
試す気はないが、引用符内の括弧は要らんはず
870名無しさん@お腹いっぱい。:2008/12/13(土) 22:41:47 ID:JAFWrcS10
>>868
C++で作られてるっぽいので内部名が違うみたい?
詳しくないけどとりあえず以下の方法でできたっぽい。
Dependency Walker等でMiniSmtpMailer.dllを開いて関数名を調べる
SmtpGetVersionの内部名は"?SmtpGetVersion@@YAKXZ"っぽいとわかるので、
DllCall("MiniSmtpMailer.dll\?SmtpGetVersion@@YAKXZ")
他の関数は試していない。