Tôi đang tạo bot cho trò chơi Flash và tôi đã tìm cách nhập tất cả các hàm AutoIt vào mã C# của mình.Gửi tin nhắn đến một trò chơi Flash với C# và 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);
}
(Tôi chắc rằng một trong những không chú thích nên một với tay cầm và ngược lại, nhưng hoạt động này cho Minesweeper.)
Vì vậy, nó làm việc cho Minesweeper và không đòi hỏi nó phải cửa sổ đang hoạt động. Khi tôi cố gắng làm cho nó hoạt động trên trò chơi Flash của tôi, nó yêu cầu cửa sổ Internet Explorer hoạt động. Đây có phải là thứ gì đó mà Flash yêu cầu hoặc có thêm điều gì đó mà tôi có thể làm để làm cho nó hoạt động khi trò chơi được thu nhỏ không?
Điều này không phải thực hiện bằng cách sử dụng tính năng nhập AutoIt. Tôi đã thử SendMessage từ user32 tại một thời điểm, nhưng điều đó không làm việc cho nội dung Flash cho tôi.
tôi chỉ thử nghiệm này trên một trang web ngẫu nhiên thay vì một trang web Flash hay Minesweeper và đối với một số lý do mã hoạt động nếu tôi thực hiện nó từ bên trong chương trình kịch bản AutoIt, nhưng không phải từ chương trình C# của tôi ...
ngày 20 tháng 6 năm 2012: Tôi khá chắc chắn điều này có liên quan đến cách xử lý. Tôi đã thực hiện một số thử nghiệm với gọi một tập tin AutoIt EXE và sử dụng xử lý tôi nhận được từ mã C# như một đối số, tôi phải thêm một 0x
vào nó, và sau đó trong mã AutoIt tôi phải bỏ nó từ một chuỗi đến một HW, vì vậy mà có thể là một cái gì đó, trong trường hợp đó tôi không biết phải làm gì kể từ khi chức năng nhập khẩu dựa trên một đầu vào chuỗi cho xử lý.
Bạn đã xuất các hàm tự động sang C# như thế nào? Tôi chỉ tò mò thôi. –
http://www.lancelarsen.com/Blog/tabid/72/EntryId/48/AutoIt-C-Helper-Library.aspx Có một trang web với các tài nguyên mà ai đó đã tạo một lớp nhập các hàm từ thư viện DLL. Nhưng tôi nghĩ rằng nếu bạn chỉ cần bao gồm các thư viện bạn không nhất thiết cần phải sử dụng lớp học mà ông đã thực hiện. Tôi nói rằng bởi vì lớp helper của ông không bao gồm tất cả các chức năng như nhập khẩu nhưng bạn có thể truy cập tất cả các phương thức autoit anyways. –