나는 성공적으로 내가 성공적 (이하 "Win32w"폴더 단위) Win32w 버전을 등록AutoHotkey.dll : "새로운 CoCOMServer는()"를 AutoHotkey를 제외
http://www.autohotkey.net/~HotKeyIt/AutoHotkey/files/AutoHotkey-txt.html
에서 Autohotkey_H 1.1 패키지를 다운로드 한 원인 .dll과 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)
나는 윈도우를 사용하고 있습니다 7 64 비트. 이 오류는 동일한 설정으로 두 개의 다른 시스템에서 발생합니다.
누구든지 Visual Studio에서 DLL을 성공적으로 사용했는지, 내가 다르게 한 것에 대해 몇 가지 힌트를 제공 했습니까?
편집 :
Sub atest()
Dim AhkCom As Object
Set AhkCom = CreateObject("AutoHotkey.Script")
AhkCom.ahktextdll("MsgBox Hello World!" & Chr(13) & "ExitApp")
End Sub
을 그리고 neiter이 수행합니다 :
또한,이 VB에서 작동하지 않습니다
dynamic ahk = Activator.CreateInstance(Type.GetTypeFromProgID("AutoHotkey.Script.UNICODE"));
ahk.ahktextdll("msgbox hello world");
을 그리고이 이 AutoHotkey를 itsself에 작업을 수행합니다
를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으로 무언가를 할 수 있습니까? 나는 단서가 없다. 당신이 (VB에서) 자신의 웹 사이트에 예를 보면
C#은 Activator.CreateInstance (Type.GetTypeFromProgID ("AutoHotkey.Script"))); 같은 오류가 발생했습니다. – cdbeelala89
VB.Net 예제가 작동하지 않으면 COM 서버를 테스트 할 때 VB를 사용하는 것이 좋습니다. C#에서 연결할 수도 없습니다. C# 4.0은 동등한 동적 바인딩을 지원합니다. –
OK VB에서 코드를 시도했습니다. 같은 오류. – cdbeelala89