から Autohotkey_H 1.1 パッケージを正常にダウンロードしました
http://www.autohotkey.net/~HotKeyIt/AutoHotkey/files/AutoHotkey-txt.html
次に、AutoHotkey.dll の Win32w バージョン (「Win32w」フォルダー内) を regsvr32 に正常に登録しました。
次に、Visual Studio 2012 を起動し、新しいプロジェクトを開始して、プロジェクト内の DLL を正常に参照しました。
プロジェクトには次のコードのみがあります。
class Program {
static void Main(string[] args) {
CoCOMServer ahkThread = new CoCOMServer();
}
}
コードを実行すると、次のエラーが発生します。
http://imageshack.us/f/822/pn3y.png (mscorlib.dll の StackOverflowException)
Windows7 64ビットを使用しています。エラーは、同じセットアップの 2 つの異なるマシンで発生します。
Visual Studio で DLL をうまく使った人はいますか?
編集:
また、これは VB では機能しません。
Sub atest()
Dim AhkCom As Object
Set AhkCom = CreateObject("AutoHotkey.Script")
AhkCom.ahktextdll("MsgBox Hello World!" & Chr(13) & "ExitApp")
End Sub
そしてneiterはこれを行います:
dynamic ahk = Activator.CreateInstance(Type.GetTypeFromProgID("AutoHotkey.Script.UNICODE"));
ahk.ahktextdll("msgbox hello world");
そして、これはオートホットキー自体で機能します:
AhkCom := ComObjCreate("AutoHotkey.Script")
AhkCom.ahktextdll("MsgBox Hello World!`nExitApp")
While AhkCom.ahkReady()
Sleep, 100
MsgBox Exiting now
最後の例は、DLL が実際に機能していることを証明しています。
実際、問題が Visual Studio 固有のものであることが非常に明確に示されています。2010年も試してみました。
誰かが私が間違っていることを教えてくれたら、私は永遠に感謝します. 2 ~ 4 行以上のコードを指定する必要がありますか? Interop で何かしますか?私は見当もつかない。