ABA


"user32.dll - mouse_event על שרת"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10090 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10090
עידן_הכלי

   20:42   26.09.10   
אל הפורום  
  user32.dll - mouse_event על שרת  
 
   אהלן חבר'ה,

כתבתי אפליקציה שרצה על שרת מסוים, וכאשר קופץ חלון מסוים בWINDOWS היא לוחצת על כפתור הOK שלו.

האלגוריתם של הלחיצה הוא כזה -
1) זיהוי קפיצת החלון
2) הבאת החלון לקדמת המסך
3) מציאת הפינה השמאלית העליונה של החלון
4) חישוב היחס המרחק בין הפינה לכפתור הOK
5) הזזת עכבר המחשב לנ"צ שחושבה
6) דימוי לחיצת עכבר עם mouse_event (מתוך user32.dll)


כל מה שציינתי כעת עובד, הבעיה היחידה היא שזה עובד רק כאשר יש לי RDP פתוח לשרת, ברגע שאני מתנתק האלגוריתם לא עובד.
אני מניח שזה קשור איכשהו לעובדה שלשרת הזה אין מסך/עכבר. (VPS)


האם יש דרך להתגבר על הבעיה?

(צאו מנקודת הנחה שלא ניתן לטפל בנושא בעזרת WindowsMessage)

תודה,
עידן.


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  זה מאד קשור לזה Net_Boy  27.09.10 22:48 1
     כי זה לא באמת כפתור, ואי אפשר ללחוץ על זה עם המקלדת עידן_הכלי 28.09.10 15:14 2
         בתכלס הכי פשוט זה לקנות עכבר לשרת :) Net_Boy  28.09.10 19:52 3
             זה חלון רגיל ולא של דפדפן. עידן_הכלי 29.09.10 18:24 4
                 כמובן שאפשר אבל אני אישית לא מכיר דרך אחרת מלבד WM Net_Boy  29.09.10 22:49 5
                     אז ככה עידן_הכלי 30.09.10 11:04 6
                         אל תסתמך על SPY++ Net_Boy  30.09.10 12:25 7
                             הצלחתי! תודה רבה עידן_הכלי 30.09.10 12:44 8
                                 בכיף :) שמח שזה עזר Net_Boy  30.09.10 15:16 9

       
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק
   22:48   27.09.10   
אל הפורום  
  1. זה מאד קשור לזה  
בתגובה להודעה מספר 0
 
   mouse_event מסמלץ לחיצת עכבר ברמת החומרה
אין חומרה - אין EVENT

(בלי קשר תשתמש בSendInput, כי הפונקציה הפכה להיות deprecated)

למה אתה לא יכול להשתמש בMessages ? אני לא מצליח לחשוב על אף סיבה הגיונית...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
עידן_הכלי

   15:14   28.09.10   
אל הפורום  
  2. כי זה לא באמת כפתור, ואי אפשר ללחוץ על זה עם המקלדת  
בתגובה להודעה מספר 1
 
   חייב לדמות לחיצת עכבר.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק
   19:52   28.09.10   
אל הפורום  
  3. בתכלס הכי פשוט זה לקנות עכבר לשרת :)  
בתגובה להודעה מספר 2
 
   אם זה כפתור שמרונדר מתוך דפדפן אז אפשר בקלות לכתוב BHO ל IE שיסמלץ לחיצה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
עידן_הכלי

   18:24   29.09.10   
אל הפורום  
  4. זה חלון רגיל ולא של דפדפן.  
בתגובה להודעה מספר 3
 
   השאלה היא האם לא ניתן לעקוף את החומרה?
הרי בסופו של דבר זה ברמת האפליקציה ולא ברמת החומרה.

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

בכל מקרה, מדובר בVPS שיושב הרחק מאיתנו, לא ניתן לחבר אליו עכבר.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק
   22:49   29.09.10   
אל הפורום  
  5. כמובן שאפשר אבל אני אישית לא מכיר דרך אחרת מלבד WM  
בתגובה להודעה מספר 4
 
   אם זה חלון רגיל אז למה אי אפשר WM ?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
עידן_הכלי

   11:04   30.09.10   
אל הפורום  
  6. אז ככה  
בתגובה להודעה מספר 5
 
   הדרך לעשות את זה עם WM זה לזהות את שם הפקד שאתה רוצה ללחוץ עליו, הבעיה היא שבחלון שאני רוצה ללחוץ עליו אני לא מצליח לזהות את שם הפקד, כשאני משתמש ב SPY++ הוא לא מצליח לזהות את המזהה כפתור.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק
   12:25   30.09.10   
אל הפורום  
  7. אל תסתמך על SPY++  
בתגובה להודעה מספר 6
 
   אי אפשר לסמוך עליו בכל המקרים.
תתחיל בחלון של הDIALOG ותשיג את כל ה CHILD WINDOWS שלו עם EnumChildWindows ואם יש לך היררכיה של כמה רמות אז תעשה את זה רקורסיבי עד שתגיע אליו
יכול להיות שזה מוגדר כ Custom Class ולא "BUTTON" של Windows ולכן גם SPY++ לא מוצא את זה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
עידן_הכלי

   12:44   30.09.10   
אל הפורום  
  8. הצלחתי! תודה רבה  
בתגובה להודעה מספר 7
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק
   15:16   30.09.10   
אל הפורום  
  9. בכיף :) שמח שזה עזר  
בתגובה להודעה מספר 8
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net