עבור לתוכן

SendInput נחסם לי ע"י תראד אחר. מה אני יכול לעשות?

Featured Replies

פורסם

היי,

אני מנסה לשלוח ליחצות מקלדת ע"י SendInput.

הכל עובד כשאני נמצא בWIN, אך שאני נכנס למשחק כלשהו, הפונ נחסמת ע"י תראד אחר.

איך אני יכול לעקוף את החסימה הזו, ואיך אני יכול לחסום תוכניות אחרות?

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/sendinput.asp

תודה.

עריכה: עכשיו גיליתי את BlockInput:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/blockinput.asp

יש אפשרות לשחק עם זה קצת?

האם BlockInput חוסם גם גויסטיקים(עבור INPUT_HARDWARE)?

פורסם

נסה להשתמש ב-PostMessage

פורסם
  • מחבר


BOOL PostMessage(

HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam
);

איך אני מגלה את המזהה של החלון של המשחק(או של התראד אם אני משתמש ב- postthreadmessage)?

האם ההודעה שמדמה לחיצת עכבר יכולה להשתנות מתוכנית לתוכנית(מה אני צריך לשלוח ב- Msg)?

לא אני כתבתי את המשחק, כך שעלי לזהות איזו הודעה מסמלת לחיצת עכבר. איך אני עושה זאת?

האם יש דרך לצפות בהודעות השונות שהתראד של המשחק שולח ומקבל? אולי כך אוכל לזהות.

אין דרך פשוטה יותר לדמות לחיצת עכבר ולהתחמק מה BlockInput?

האם יש אפשרות "לספח" את החלון שאני יוצר לתראד ואז לגרום למערכת ההפעלה לחשוב שזה חלק מהמשחק?

טוב, כנראה המשחק לא משתמש בBlockInput מכיוון שאני יכול להזיז בו את העכבר. הבעיה היא שכשאני משתמש בSendInput, הפונקציה מחזירה לי 0, כאילו השתמשו בBlockInput. מישהו מכיר את זה? אולי יש פונ' אחרת שמסוגלת לחסום רק את הSendInput, ולא את העכבר והמקלדת.

עריכה: זה בטוח לא BlockInput מכיוון שאם אני מפעיל אותה, ואחר כך את המשחק, אני באמת לא מסוגל להזיז את העכבר(עם היד), וגם הSendInput מחזיר לי 0(למרות שהוא באותו התראד שביצע את הBlock).

הPostMessage גם מחזיר לי 0. קיבלתי שם הhWnd ע"י FindWindow(NULL, title)

פורסם

אם יש לך Visual, הכלי Spy++ ייתן לך את כל מה שאתה צריך לדעת.

פורסם
  • מחבר

הבעיה היא שאני לא יכול לשלוח הודעות לחון בכלל. אם אני מריץ את הפונ PostMessage היא מחזירה 0, כלומר ההודעה בכלל לא נכנסה לבאפר(לפי MSDN).

חשבתי על פתרון פשוט יותר ברמה נמוכה יותר, בה אני אציין פשוט ש"נלחץ" מקש הרווח. יש דרך לעשות זאת?

פורסם

FindWindow מחזירה ערך שונה מ-0?

אתה שולח message של WM_KEYDOWN ו-WM_KEYUP?

פורסם
  • מחבר

כן, FindWindow מחזירה ערך שונה מ- 0.

כן. ניסיתי לשלוח. לא הצליח.

שכחתי לציין שהמשחק מריץ GameGuard.

  • 2 שבועות מאוחר יותר...
פורסם

רק רציתי לשאול על איזה שפה אתם מדברים ??

נשמע כמו ++C

סתם סקרן

פורסם
  • מחבר

אני משתמש בVC++, אבל זה רלוונטי גם לVB וכו.

אני חושב שהבעיה היא ב- game guard.

בכל מקרה כבר ידרתי מהעניין... מצאתי שרת אחר שלא דורש את הGAME GUARD(אך הוא מריץ גירסא שונה של המשחק) וזה עובד.

פורסם

בפעם הבאה פשוט תוריד AimBot מוכן מהאינטרנט במקום לכתוב אחד בעצמך ;)

פורסם
  • מחבר

אין לי כוח לחפש...

חוץ מזה שאין שם את כל הפונ שאני מעוניין שיהיו בו.

פורסם

ואני בכלל התלוצצתי. זה באמת מה שאתה מנסה לעשות?

פורסם
  • מחבר

טוב.. זה לא בידיוק זה..

אני מנסה לבנות תוכנת AFK או AUTOCLICKER, לא AIMBOT.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים