저는 플래시 게임용 로봇을 만들고 있으며, 모든 AutoIt 함수를 내 C# 코드로 가져 오는 방법을 알아 냈습니다.C# 및 AutoIt을 사용하여 플래시 게임에 메시지 보내기
string title = "Minesweeper";
string full = auto.WinGetTitle(title,"");
string handle = auto.WinGetHandle(full, "");
if (auto.WinExists(full, "") == 1)
textBox1.Text = "window exists";
addressBox.Text = full;
for (int r = 1; r < 40; r++)
{
auto.ControlClick(full, "", "", "left", 2, r * 10, r * 10);
//auto.ControlClick(handle, "", "", "left", 2, r * 10, r * 10);
}
(I은 주석 처리 한 손잡이와 그 반대를 가진 것이어야한다 확실 해요,하지만이 Minesweeper 작동합니다.)
그래서 지뢰 찾기 위해 작동 할 그것을 필요로하지 않습니다 활성 창 내 플래시 게임에서 작동 시키려고 할 때 인터넷 탐색기 창이 활성이어야합니다. Flash에 필요한 것입니까, 아니면 게임을 최소화 할 때 사용할 수있는 추가 기능이 있습니까?
AutoIt 가져 오기를 사용하여 수행 할 필요는 없습니다. 나는 한 지점에서 user32의 SendMessage을 시도했지만 플래시 컨텐츠를 전혀 사용하지 못했습니다.
난 그냥 대신 플래시 사이트 나 지뢰 찾기와 나는 AutoIt이 스크립트 프로그램 내에서 그것을 실행하면 코드가 작동 어떤 이유로,하지만 내 C# 프로그램에서의 임의의 웹 사이트에이 테스트...
2012 년 6 월 20 일 : 저는 이것이 핸들이 전달되는 방식과 관련이 있다고 확신합니다. AutoIt EXE 파일을 호출하고 인수로 C# 코드에서 가져온 핸들을 사용하여 일부 테스트를 수행했습니다. 0x
을 추가해야하며 AutoIt 코드 내에서 문자열에서 캐스팅해야합니다 그래서 뭔가가 될 수있는 HWnd, 그래서 내가 가져온 된 함수를 핸들에 대한 문자열 입력에 의존하기 때문에 어떻게 해야할지 모르겠다.
어떻게 자동 함수를 C#으로 내 보냅니 까? 나는 단지 궁금하다. –
http://www.lancelarsen.com/Blog/tabid/72/EntryId/48/AutoIt-C-Helper-Library.aspx 누군가가 DLL 라이브러리에서 함수를 가져 오는 클래스를 만든 ressources가있는 사이트입니다. 그러나 나는 도서관을 포함 시키면 그가 만든 수업을 반드시 사용할 필요는 없다고 생각합니다. 그의 도우미 클래스는 모든 함수를 수입으로 포함하고 있지 않으므로 어쨌든 모든 자동 메소드에 액세스 할 수 있기 때문에 그렇게 말합니다. –