בעיה עם SendKeys

בעיה עם SendKeys

אני מנסה לבנות תוכנית פשוטה שכל חמש שניות תשלח ctrl+s כדי לשמור את הקובץ. עשיתי timer שיפעל כל חמש שניות והנה הקוד שלו:
Private Sub timer1_Timer() SendKeys ("^s") End Sub​
הקוד עצמו עובד (בדקתי על קובץ טקסט פשוט) אבל כאשר אני מנסה לשמור את קובץ הפלאש בעזרת ctrl+s הוא פשוט לא עושה כלום :/ למה זה לא עובד בפלאש אבל בקובץ טקסט כן? אפשר לסדר את זה?
 
.. אני אסביר את עצמי שוב.

אני רוצה שהקוד (שצירפתי בהודעה הראשונה) ישמור את הקוד בעזרת ctrl+s כל חמש שניות במקום שאני אלחץ. למה הוא לא מצליח לשלוח את המקשים האלו? בדקתי אם הוא שולח מקשים לא בתוכנה וזה עבד אבל כשאני מנסה לשלוח מקשים בתוכנה זה לא עובד :/
 

מס1

New member
בסדר שים לב

שים נקודת עצירה על הפקודה של השמירה ותראה מה קורה אני רואה שביטלת את הפקודות onerror שיכולה מאוד לעזור ע"י זה שתקבל את השגיאה שאירעה ואז תוכל לטפל בה
 
אבל זאת הבעיה, שאין שגיאה!

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

פאשה0

New member
אפשר עם keybd_event

הנה דוגמה מ-API-Guide
Const KEYEVENTF_EXTENDEDKEY = &H1 Const KEYEVENTF_KEYUP = &H2 Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Sub Form_KeyPress(KeyAscii As Integer) 'Print the key on the form Me.Print Chr$(KeyAscii); End Sub Private Sub Form_Paint() 'KPD-Team 2000 'URL: http://www.allapi.net/ 'E-Mail: [email protected] 'Clear the form Me.Cls keybd_event vbKeyH, 0, 0, 0 ' press H keybd_event vbKeyH, 0, KEYEVENTF_KEYUP, 0 ' release H keybd_event vbKeyE, 0, 0, 0 ' press E keybd_event vbKeyE, 0, KEYEVENTF_KEYUP, 0 ' release E keybd_event vbKeyL, 0, 0, 0 ' press L keybd_event vbKeyL, 0, KEYEVENTF_KEYUP, 0 ' release L keybd_event vbKeyL, 0, 0, 0 ' press L keybd_event vbKeyL, 0, KEYEVENTF_KEYUP, 0 ' release L keybd_event vbKeyO, 0, 0, 0 ' press O keybd_event vbKeyO, 0, KEYEVENTF_KEYUP, 0 ' release O End Sub​
 
אתה גאוןןןן!!!!!!!! תודה!!!

D: הנה הקוד אם סתם מתחשק לך לראות P: אין לי הרבה ידע בVB
keybd_event vbKeyControl, 0, 0, 0 ' press ctrl keybd_event vbKeyS, 0, 0, 0 ' press s keybd_event vbKeyS, 0, KEYEVENTF_KEYUP, 0 ' release s keybd_event vbKeyControl, 0, KEYEVENTF_KEYUP, 0 ' release ctrl​
 

פאשה0

New member
יפה ../images/Emo13.gif אבל מוזר ש-SendKeys לא עבד

כי אמורים להיות די שקולים...
 
למעלה