PDA

View Full Version : buffer keyboard



powerboy2988
پنج شنبه 25 بهمن 1386, 13:36 عصر
سلام
تو c چی جوری میشه از buffer keyboard استفاده کرد؟
یعنی می خوام کلید های جهت نما رو هم زمان که فشار می دم با هم کار کنند

emad_67
جمعه 26 بهمن 1386, 18:34 عصر
برای مثال اینو ببین:


# include <iostream.h>
# include <windows.h>
void main()
{
for(;;)
{
if(GetAsyncKeyState(VK_RIGHT) && GetAsyncKeyState(VK_LEFT))
cout<<"Left & Right Arrow Pressed"<<endl;
Sleep(500);
}
}

برای اینکه بفهمی که کدوم کلید فشار داده شده از تابع GetAsyncKeyState در هدر windows.h استفاده کن. پارامتر ورودی این تابع هم یکی از vitual key های کیبرد هست که تو msdn میتونی لیست کامل کلید ها رو پیدا کنی. برای چک کردن اینکه آیا چند تا کلید همزمان فشار داده شدن یا نه هم فقط کافیه که در if چند بار این تابع رو با کلید های مختلف فراخوانی کنی. مثلا این کدی که الان نوشتم وقتی کلید های جهت نما چپ و راست با هم فشار داده بشن شرط اجرا میشه

powerboy2988
جمعه 26 بهمن 1386, 21:00 عصر
ممنون از کد . ولی کار نکرد. راستی من تو محیط dos دارم کار می کنم. این کد اجرا می شه تو dos؟

Nima_NF
جمعه 26 بهمن 1386, 21:45 عصر
ممنون از کد . ولی کار نکرد. راستی من تو محیط dos دارم کار می کنم. این کد اجرا می شه تو dos؟

اگر از کامپایلر های جدید تحت ویندوز مثل ویژوال استادیو یا minGW استفاده کنید ، برای برنامه های کنسول می توانید از آن استفاده کنید.

powerboy2988
شنبه 27 بهمن 1386, 17:04 عصر
اگر از کامپایلر های جدید تحت ویندوز مثل ویژوال استادیو یا minGW استفاده کنید ، برای برنامه های کنسول می توانید از آن استفاده کنید.

ممنون ولی نمی خوام تو محیط ویندوز کار کنم(البته به جز 98) من تو داس می خوام بافر کیبورد رو بخونم