Hầu hết các trình điều khiển được viết bằng C hoặc C++, vì vậy nếu bạn không biết những ngôn ngữ đó một cách hợp lý, bạn sẽ muốn làm quen với chúng trước khi bắt đầu. Lập trình Windows sử dụng rất nhiều phím tắt thú vị có thể gây nhầm lẫn cho người mới bắt đầu - ví dụ: PVOIDs (typedef void* PVOID
) và LPVOID (typedef void* far LPVOD;
). Bạn sẽ cần phải hài lòng với các con trỏ như các khái niệm cũng như các cấu trúc vì bạn sẽ sử dụng rất nhiều con trỏ. Tôi muốn đề nghị viết một ứng dụng win32 thực sự đơn giản như là một bài tập trong việc nắm bắt với phong cách Windows làm C/C++.
Cổng tiếp theo của cuộc gọi sau đó là điều hướng Windows Driver Kit - cụ thể, bạn sẽ cần nó để tạo trình điều khiển cho Windows. Ở giai đoạn này khả năng tư vấn của tôi thực sự phụ thuộc vào những gì bạn đang làm và phần cứng bạn có sẵn, hoặc có hay không bạn đang thực sự sử dụng phần cứng. Bạn sẽ cần phải biết cách điều khiển phần cứng của mình và từ đó bạn sẽ cần phải chọn một cách thích hợp để viết trình điều khiển - có một số loại trình điều khiển khác nhau tùy thuộc vào những gì bạn cần đạt được và có thể bạn có thể cắm vào một trong số này.
Bộ điều khiển cửa sổ chứa khá nhiều mẫu, kể cả trình điều khiển thực hiện máy nướng bánh mỳ ảo. Chúng sẽ cung cấp cho bạn các điểm bắt đầu.
Tôi thực sự khuyên bạn nên thử nghiệm điều này trong máy ảo. Nếu trình điều khiển của bạn xây dựng thành công, nhưng gây ra lỗi thời gian chạy, kết quả cũng có thể làm hỏng hoàn toàn cửa sổ nếu bạn đang ở chế độ hạt nhân. Do đó, bạn sẽ tiết kiệm cho mình một số cơn đau bằng cách có thể hoàn nguyên máy ảo nếu bạn làm hỏng nó, cũng như không phải chờ hệ thống khởi động lại. Nó cũng sẽ làm cho việc gỡ lỗi dễ dàng hơn vì các cáp nối tiếp ảo có thể được sử dụng.
Đây thực sự là một bước tiến lớn, vì vậy trước khi bắt đầu, tôi sẽ nghiên cứu kỹ hơn về Windows. khung điều khiển, sau đó cuối cùng và chỉ khi bạn cần, nhìn vào các công cụ mức hạt nhân.
Nguồn
2012-01-19 12:26:42
Bạn sẽ sử dụng gamepad theo cách này, chắc chắn khi bạn đã tải ứng dụng trò chơi, v.v. bạn sẽ không còn tập trung hoặc điều khiển tập trung với gamepad ảo (như tôi hiểu) nữa không? –
Điều gì xảy ra nếu bạn điều khiển "gamepad" từ một máy khác thông qua lan/internet/TCP? –
Về lý thuyết nên có thể, tuy nhiên lý do chính để phát triển giải pháp ảo là tiết kiệm chi phí phần cứng của sản phẩm v.v. Tuy nhiên, trong trường hợp này bạn sẽ không cần phải mua một gamepad nhưng sẽ cần mua một máy tính khác để chạy nếu bạn chưa có. Tôi đánh giá cao đây chỉ là một dự án nhưng đáng để suy nghĩ về cách thực hiện sẽ hoạt động trước khi dành hàng giờ mã hóa nó:) –