פורסם 2011 באוגוסט 914 שנים שלוםאני מתכנט משהו שהוא דיי נחוץ לי בשביל הסקייפ בתוכנת הסקריפטים AutoIt3ניסיתי לעשות שיעשה את שתי הדברים הבאים בו זמנית:הדבר הראשון הוא שהוא יקבל כל הזמן הנתון של ה $size[0] והדבר השני הוא שיחליט לעשות את הפעולה הבאה:WinSetState("[CLASS:tSkMainForm]", "", @SW_HIDE)כשנתון ה $size[0] שווה ל -3200 או במילים אחרות של השפה:$size[0] < -3200 וכך בעצם הצלחתי לעשות שכל פעם שאני מחליט למזער את החלון של הסקייפ או לסגור אותו אז החלון למעשה נעלם לי ל system tray ואני יכול להחזיר אותו כשאני רוצה בלי בעיהזה עובד מצויין!בגוגל חיפשתי שעות תיקון כזה לסקייפ ולא מצאתי והבנתי שזה אחד הדברים שהיו אמורים לעשות ושכנראה עוד לא עשו אותם..אז עשיתי וזה עובד מושלם.הבעיה היא מה קורה כשהסקריפט פועל כשהסקייפ לא פועל וכאן הבעיה.כשזה קורה אז הסקריפ מנסה לקבל את נתון ה $size[0] מתוך קביעה שהוא חייב להיות קיים ואז כשהוא לא מוצא קורא כשל ויש הודעת שגיאהאז חשבתי לעשות שכל הפרוצדורה הזאת תהיה רק כשסקייפ פועל ולהכניס תנאי שאם הוא לא פועל אז הסקריפט לא ימשיך הלאה אבל הבעיה היא שאני לא מצליח לעשות את זה..תעזרו לי בבקשהזה הקוד:Opt("TrayIconHide", 1)While 1$size = WinGetPos("[CLASS:tSkMainForm]", "")If $size[0] < -3200 Then WinSetState("[CLASS:tSkMainForm]", "", @SW_HIDE)EndIfWEndחשבתי לעשות מבנה כזה -חלק ראשון:בדיקה אם הסקייפ פועל אם לא פועל אז הסקריפט יסגור את עצמו.אם כן פועל אז הסקריפט יפנה ל Func בחלק 2חלק שני:Func שיכלול את הקוד הבא:Opt("TrayIconHide", 1)While 1$size = WinGetPos("[CLASS:tSkMainForm]", "")If $size[0] < -3200 Then WinSetState("[CLASS:tSkMainForm]", "", @SW_HIDE)EndIfWEndאני רק לא יודע איך לכתוב את הפקודה ששמפנה ל Funcאם תגידו לי איך כותבים אותה אז זה יעזור לי מאוד!תודה מראשעריכה 2 :חשבתי על זה שוב והמבנה הזה פותר רק את המקרה שפותחים את הסקריפט בלי הסקייפ.צריך שגוף הסקריפט ידאג לסגור את עצמו בזמן לפני שהשגיאה קוראת במקרה שסוגרים את הסקייפ שזה אומר שבגוף הסקריפט צריך לכלול עוד תנאי שאם סקייפ נסגר אז הסקריפט גם יסגר אבל אני לא יודע איך לעשות שתי תנאים.. אף פעם לא הצלחתי להסתדר עם זה
פורסם 2011 באוגוסט 914 שנים וכך בעצם הצלחתי לעשות שכל פעם שאני מחליט למזער את החלון של הסקייפ או לסגור אותו אז החלון למעשה נעלם לי ל system tray ואני יכול להחזיר אותו כשאני רוצה בלי בעיהמוזר מאוד.אצלי סגירת התוכנה דרך החלון הראשי (לחיצה על X) ממזערת אותו לTRAY באופן טבעי.חיפשתי בTOOLS/OPTIONS איפה האופציה הזאת ולא מצאתי. :s05:
פורסם 2011 באוגוסט 914 שנים תוך כדי כל זה בדקתי אם יש גירסה חדשה ועדכנתי. מסתבר שבגירסה החדשה זה באמת המצב כמו שאתה מתאר. לאאאאאאאאא למה עידכנתי...... יכול גם להיות שבגרסאות קודמות האופציה הזאת כן היתה אפשרית לבחירה בOPTIONS. ושעד הגירסה הקודמת אותה אופציה שסומנה בעבר עדיין פעלה למרות שהסירו אותה.
פורסם 2011 באוגוסט 914 שנים אוקי פתרתי את התעלומה. מפתחי SKYPE הם כנראה סינים או הודים שאינם דוברים אנגלית. בטל את האופציה ADVANCED / KEEP SKYPE IN THE TASKBAR WHILE IM SIGNED IN ושוב, תודה למפתחי SKYPE על התפריט הברור והיעיל. סוג של הפוך על הפוך.
פורסם 2011 באוגוסט 914 שנים מחבר האופציה הזאת לא קיימתאני לא יודע על מה אתה מדבר..חיפשתי בגוגל ומצאתי את התשובה שלך אבל זה לא נכון לגבי הגרסה החדשהאין שליטה על זהעריכה:אוקי מצאתי את האופציה הזאתאבל בגוגל הראו פתרונות אחרים..מוזרתודה זה פתר את הבעיה.א לא צריך לתכנת את זה.. חבל דווקא אהבתי את הקטע
פורסם 2011 באוגוסט 1014 שנים אני על הגירסה האחרונה כרגע.וודא שאתה על ADVANCED ולא BASIC OPTIONS MODEואז זה אמור להופיע תחת לOPTIONS/ADVANCED/ADVANCED SETTINGS
פורסם 2011 באוגוסט 1014 שנים מחבר ישששש הצלחתי לעשות את זה מושלם!!אני יודע שלא הייתי צריך אבל זה סתם בשביל הכיףהינה:While 1WinWait("[CLASS:tSkMainForm]", "")Call("skype")WEndFunc skype()While 1$size = WinGetPos("[CLASS:tSkMainForm]", "")If @error Then ExitLoop EndIfIf $size[0] < -3200 Then WinSetState("[CLASS:tSkMainForm]", "", @SW_HIDE)EndIfWEndEndFuncאיך יצא?לקח לי שנה לכתוב את זה כי לא ידעתי בהתחלה את הפקודות שהייתי צריך להשתמש בהם.עכשיו אני צריך לכתוב שהוא גם ימזער את החלון כשהסקייפ עולה עם המחשב כי תמיד הוא מראה את החלון..דרך אגב זה יותר טוב כי אני רגיל שאם לוחצים על כפתור המזעור אז הסקייפ ממוזער ל tray ורק בעזרת הסקריפט זה ככה.עם ההגדרה של סקייפ זה רק אם לוחצים על כפתור הסגירה של החלוןעריכה:חשבתי על זההמצאתי בסיס לקוד שמטרטו למזער תוכנות שלא רוצות להתמזער ל tray אז אני יכול עכשיו על בסיס הקוד הזה תוכנה שלמה שתעשה את זה
פורסם 2011 באוגוסט 1014 שנים זה באמת עדיף מבחינה פונקציונליות.יש כמה תוכנות וSKYPE היא אחת מהם, שכל איש מחשבים מנוסה (במיוחד כאלו עם ראש לפרטים) חושב לעצמו: ככה לא בונים תוכנה, ככה זה לא אמור לעבוד.לפעמים עם עוד טיפה השקעה ועוד מספר קטן של אופציות התוכנה תהיה יותר נוחה ותעמוד בסטנדרטים מקובלים שלא הומצאו אתמול.הבעיה הרבה פעמים נובעת מחוסר ראיה מערכתית של המתכנת/מנהל פרויקט, שרואה רק את האינטרס הכלכלי של החברה וישומה במוצר עצמו.אני מציע לשלוח להם תלונה במייל עם הסבר קצר על מחדליהם, בצרוף הקוד שכתבת עקב רשלנותם הלא מקצועית.לדעתי יש מצב שתוכל לשנות את הפונקציונליות לכל משתמשי SKYPE מראש הפירמידה במקום מהתחתית.
פורסם 2011 באוגוסט 1014 שנים מחבר אתה רציני?פשוט לי זה נשמע מופרך לשלוח אליהם מיל על דבר כזה עד כדי כך שאני לא יודע אם אתה צוחק או לא
פורסם 2011 באוגוסט 1014 שנים כי זה לוקח כמה דקות, ואולי יפתור את אותה בעיה לכל משתמשי הפורום (ולכל העולם כולו).יש את המיקרו, ויש את המאקרו.
פורסם 2011 באוגוסט 1014 שנים בהחלט זה מה שקורה כשהתכנון הראשוני לא מוצלח. אולי זה בגלל שסקייפ נכתב ב Object Pascal?
פורסם 2011 באוגוסט 1014 שנים מחבר אוקי סיימתי לכתוב את הקוד המלאזה הקוד:Opt("TrayIconHide", 1)Local $userWinWait("Skype™ - " & $user, "", "")WinSetState("[CLASS:tSkMainForm]", "", @SW_MINIMIZE)WinSetState("[CLASS:tSkMainForm]", "", @SW_HIDE)While 1WinWait("[CLASS:tSkMainForm]", "")Call("skype")WEndFunc skype()While 1 Sleep(200)$size = WinGetPos("[CLASS:tSkMainForm]", "")If @error Then ExitLoop EndIfIf $size[0] < -3200 Then WinSetState("[CLASS:tSkMainForm]", "", @SW_HIDE)EndIfWEndEndFuncכל מה שצריך לעשות זה להגדיר שהקובץ הזה יעלה עם הווינדוס וזהו..הסקייפ יתפקד ממש כמו שהוא צריך לתפקד!מה שזה עושה זהא. גורם לסקייפ לעלות עם הווינדוס מבלי שיפתח את החלון שלוב. מאפשר למזער אותו ל tray בקלותאם יש מקום יותר מתאים לפרסם את הפתרון אז תגידו לי מה הוא.לא צריך לחכות שהחברה תסדר את זה.
פורסם 2011 בספטמבר 1014 שנים מחבר סליחה על ההפצהפשוט רציתי לעדכן שהקוד הזה נחסם!!אני לא יודע למה פשוט משום מה הסקייפ תמיד מזהה שהוא מתמזער באופן לא טבעי ואז כעבור כמה שניות החלונות שלו קופצים שוב!אני נשבע לכם אין לי מושג למה זה ככה..הוא ממש מזהה את זה..ניסיתי לתכנט משהו שונה אבל שום דבר לא עוזר..אם אני קובע תנאי שהסקייפ ימוזער ומכניס אותו ללולאה אז בכלל קורה משהו ממש הזוי שרואים איך שהסקייפ פותח שוב ושוב את החלונות שלו אחרי שהם נסגרים שוב ושוב :-\ WTFלמה הם חייבים לעשות את זה? ??? ??אפשר לעזרה בתכנות משהו חדש שיעקוף את זה?
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.