khalilzade
یک شنبه 13 مهر 1393, 22:23 عصر
سلام خدمت دوستان و اساتید.
در حال انجام پروژه ای هستم که در اون از پورت سریال کدی دریافت می شود، که با توجه به اون کد باید دکمه ای از صفحه کلید شبیه سازی شود (برای بازی کامپیوتری)
مثلا اگر a از پورت سریال دریافت شد دکمه بالا فشرده شود یا بازیکن بازی به جلو برود.
با جستجو در سایت ها برای شبه سازی صفحه کلید به کد زیر رسیدم
Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
.
.
.
keybd_event(Keys.W, 0, 0, 0)
اما در هیج بازی انجام نشد. ولی در تکست باکس ها کار می کرد و یا نرم افزار notepad, word و ...
بعد از اون از کد
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
SendKeys.Send("{W}")
End Sub
استفاده کردم که در بازی IGI1 کار کرد. بازیکن جلو می رفت ولی کند! وقتی خودم دکمه w رو فشار میدادم خیلی رونتر حرکت می کرد.
این کد دوم در بازی call of duty کار نکرد.
می شه راهنماییم کنید که چگونه می توانم بازیکن های بازی را کنترل کنم؟ باتشکر
در حال انجام پروژه ای هستم که در اون از پورت سریال کدی دریافت می شود، که با توجه به اون کد باید دکمه ای از صفحه کلید شبیه سازی شود (برای بازی کامپیوتری)
مثلا اگر a از پورت سریال دریافت شد دکمه بالا فشرده شود یا بازیکن بازی به جلو برود.
با جستجو در سایت ها برای شبه سازی صفحه کلید به کد زیر رسیدم
Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
.
.
.
keybd_event(Keys.W, 0, 0, 0)
اما در هیج بازی انجام نشد. ولی در تکست باکس ها کار می کرد و یا نرم افزار notepad, word و ...
بعد از اون از کد
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
SendKeys.Send("{W}")
End Sub
استفاده کردم که در بازی IGI1 کار کرد. بازیکن جلو می رفت ولی کند! وقتی خودم دکمه w رو فشار میدادم خیلی رونتر حرکت می کرد.
این کد دوم در بازی call of duty کار نکرد.
می شه راهنماییم کنید که چگونه می توانم بازیکن های بازی را کنترل کنم؟ باتشکر