PDA

View Full Version : حرفه ای: زدن دکمه کیبورد به صورت مجازی برای کنترل در بازی ها



reza.avoor
چهارشنبه 24 تیر 1394, 12:58 عصر
سلام!با سرچ زباد در سایت و گوگل یه سری کد گیر اوردم که میتونن دکمه کیبوردو بزنن مثل sendkeys() یا sendmessage یا این تابع:


public class Keyboard
{
[System.Runtime.InteropServices.DllImport("user32.dll", SetLastError = true)]
static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtrainfo);
const int KEY_DOWN_EVENT = 0x0001;
const int KEY_UP_EVENT = 0x0002;
const int PauseBetweenStrokes = 50;
public static void HoldKey(byte key, int duration)
{
int totalDuration = 0;
while (totalDuration < duration)
{
keybd_event(key, 0, KEY_DOWN_EVENT, 0);
keybd_event(key, 0, KEY_UP_EVENT, 0);
Thread.Sleep(PauseBetweenStrokes);
totalDuration += PauseBetweenStrokes;
}
}
}


که همشون کار میکنن ولی مشکل اصلی بازیه!!تمام این کدها توی برنامه های عادی مثل notpad یا cal کار میکنن اما در حین اجرای بازی کار نمیکنن.
تا اونجایی که من فهمیدم ,بازی ها از directX استفاده میکنند و با روش معمول نمیشه توش کاری کرد,باید یه کاری با DirectInput دایرکت ایکس کرد
اینجا کسی میتونه کمک کنه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

MehdiElexal
سه شنبه 08 دی 1394, 10:38 صبح
دوستان بنده هم مشکل ایشون رو دارم کسی هست کمکی کنه یا کار کرده باشه ؟