ראשי > תיכנות > עזרה ב c++
רצוי להציג באיזו סביבה אתה מפתח, מה אתה מנסה בידיוק להשיג (בצורה קצת יותר מפורטת מ"ללחוץ על כפתור שיכתוב למחשב"..). הכוונה לקובץ במחשב? הסבר את עצמך.
נגיד
קוד:
x=getch();
או שזה אולי
קוד:
getch(x);
זה אמור להיות אחד מהם, ברגע שהמשתמש לוחץ על תו זה יקלט למשתנה X.
תחפש על הנושא של key logging בגוגל ואתה תמצא.
קוד:
while(1)
}
x=getch()
if (x==’z’)
flag=1;
else
move();
}
כמובן עם פונקציות מתאימות, ועוד כמה פורים, אבל העיקרון..
שנגיד ברגע שילחצו על החץ שמאלה זה יזוז שמאלה, נכון?
אז תוסיף שם בתנאים שאחרי ה
x=getch()
if (x==’5’)
cheat();
בא לאיסיקיו / מסנג’ר, אני אסביר לך בפרטנות...
אז אתה צריך שהפעולה תעשה גם אם החלון לא בפוקוס, וכן getch וחבריו לא יעבדו.
אם אתה משתמש ב APIs של וינדוס אז יש את הפונקציה GetAsyncKeyState אתה יכול לקרוא עליה ב msdn של מיקרוסופט.
בהצלחה...[ההודעה נערכה על-ידי ziv ב-04/07/2006 16:12:37]
הרי כדי שהטריינר יעבוד הוא אמור לדעת לקבל קלטים מהמקלדת גם שהחלון לא בפוקוס (או לחילופין שאין בכלל חלון)..
זאת הסיבה שבכלל העלתי את ה- key logging. ולא רטינו. זה לא כזה פשוט. לפחות לא למישהו חסר ידע בעבודה עם APIs..
בע, מישהו הבין?[ההודעה נערכה על-ידי Ratinho ב-04/07/2006 20:47:07]
חפש מידע על
getintvect
this can be done using the keybd_event function
search for it in msdn.microsoft.com
to get the virtual-key code look for it in the table
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui
/winui/WindowsUserInterface/UserInput/VirtualKeyCodes.asp
ותפסיקו לזיין תשכל.
[ההודעה נערכה על-ידי zd4y ב-12/07/2006 13:41:55][ההודעה נערכה על-ידי zd4y ב-12/07/2006 13:44:23]
מה שאתה צריך זה הוק על כל החלונות שנמצאים בדסקטופ הנוכחי.
זה נקרא system-wide hook. עושים את זה בעזרת SetWindowsHookEx. שוב, קרא ב-msdn. בשביל הוק על המקלדת הפרמטר הראשון הוא WH_KEYBOARD_LL.
בשביל לתפוס את כל החלונות על הדסקטופ הנוכחי הפרמטר האחרון צריך להיות NULL.
כשה hook procedure (פרמטר שני) שלך תיקרא (בכל לחיצה על המקלדת) תקבל פוינטר לבאפר שמכיל flags,scan code and a vk code.
ה UINT האחרון זה הוירטואל-קי קוד, זה מה שאתה צריך לבדוק כדי לדעת איזה מקש נלחץ, שוב, מהטבלה בהודעה הקודמת. ברגע שנלחץ נגיד,5, אתה שולח abbcb או מה שתרצה בעזרת keybd_event, מההודעה הקודמת.[ההודעה נערכה על-ידי zd4y ב-13/07/2006 10:03:11]