Autohotkey 에서 C# 으로 만들어진 dll 파일을 사용하려 시도 해봤는데 정상적으로 사용이 안되더군요.
그래서 구글링을 좀 해보니 역시나 해결 방법이 있더군요.
일단 아래 주소에서 CLR.ahk 파일을 다운로드 받습니다.
https://autohotkey.com/boards/viewtopic.php?t=4633
CLR.ahk 의 직접적인 링크는 다음과 같습니다.
https://autohotkey.com/boards/codeboxplus/download/26398-1
CLR.ahk 는 Lexikos 라는 분이 만들었습니다. 현재 배포되는 Autohotkey 버전의 개발자이시기도 합니다.
다음으로 제가 테스트 해본 C# 코드는 아래와 같습니다.
아래 예에서 사용한 Autohotkey 와 csc.exe 는 32 비트 버전 입니다.
-test.cs-
using System;
namespace myDLL
{
public class Calculator
{
public int Sub(int a, int b)
{
return a - b;
}
public int Add(int a, int b)
{
return a + b;
}
public int increase(int var)
{
var++;
return var;
}
}
}
이제 위 C# 코드를 라이브러리로 만들기 위해 cmd 창에서 명령어를 써 줍니다.
csc.exe /target:library test.cs
위 명령에 의해 test.dll 파일이 만들어 집니다.
다음으로 아래와 같이 C# 으로 만들어진 test.dll 의 함수를 Autohotkey 에서 사용 합니다.
#Include CLR.ahk
asm := CLR_LoadLibrary("test.dll")
obj1 := asm.CreateInstance("myDLL.Calculator")
MsgBox % obj1.increase(125)
MsgBox % obj1.Add(12,34)
MsgBox % obj1.Sub(12,34)
저는 다음과 같이 정상적으로 동작하더군요.
테스트를 해보니 static 으로 만들어진 멤버 함수의 경우 정상적으로 동작하지 않았습니다.
위 포럼 페이지에서의 글을 보니 Autohotkey 에서 C# 코드 형태를 라이브러리로 만들수도 있는것 같더군요.
'programming language > Autohotkey' 카테고리의 다른 글
Autohotkey 강좌 날짜 계산 방법 (2) | 2018.03.24 |
---|---|
Autohotkey 를 사용하여 반복 없애기(생산성 향상) (0) | 2018.03.13 |
Autohotkey 를 사용하여 이미지서치시 이미지의 중간을 클릭하게 하기 (2) | 2018.03.05 |
Autohotkey DTW(Dynamic Time Warping) 를 사용한 글자 매칭 (0) | 2018.01.09 |
SciTE4AutoHotkey 의 아웃풋에 텍스트 표시 방법 (0) | 2017.12.08 |
Autohotkey(오토핫키)를 사용하여 창 닫기 (0) | 2017.12.08 |
Autohotkey 에서 selenium 사용 방법 (24) | 2017.10.26 |
Autohotkey COM 을 사용하여 Outlook 으로 메일 보내기 (0) | 2017.08.18 |
댓글