Advanced shell

metachnet

New member
Advanced shell

היי, יש לי תוכנית קטנה (ללא קוד מקור) שכאשר אני מריץ אותה היא מציגה חלון MessageBox (לא מודאלי, התוכנה ממשיכה לרוץ ללא סגירת החלון) ולאחריו מריצה תוכנית אחרת ומחכה לסיומה (כאשר החלון ה MessageBox הוא החלון היחיד שהתוכנה מציגה). שאלתי היא, האם ניתן להפעיל את התוכנה ללא ממשק המשתמש ז"א ללא חלון ה MessageBox?? כוונתי היא לכפות על התוכנה לפעול ללא שום חלון נראה לעין. הערות: 1. יש לשים לב שמדובר בחלון MessageBox ולא חלון רגיל כך שהרצת התוכנית במצב HIDE לא עוזרת וחלון ה MessageBox עדיין מוצג. 2. אני אחסוך מראש תשובות בסגנון "מה הבעיה? תכתוב תוכנית שתריץ את התוכנה האחרת ללא MessageBox". לא, אני חייב את התוכנה הקיימת. תודה ולילה טוב
 

metachnet

New member
ארז, רון, מישהו???

זה די חשוב לי ואשמח לשמוע אם זה אפשרי... (וסליחה על ההקפצה המיותרת)
 

ארזירון

New member
אז יש כמה תשובות....

1. תלוי במערכת ההפעלה - אפשר להריץ דברים דרך Scheduled Tasks ואז מריצים אותם תחת context של מערכת ההפעלה, ואז בטוח לא תראה כלום. 2. מצד שני, אם ה-msgbox נעלם לבד בסוף, אז אין לך בעיה (או שאני לא מבין את הבעיה) 3. מצד שלישי, אפשר לכתוב תוכנה אחרת שתרוץ ותמצא את ה-msgbox על ידי HWND, כותרת חלון, או משהו כזה, ופשוט תסגור אותו עם API....
 

metachnet

New member
תשובות

1. אשמח לפירוט, לא הבנתי למה אתה מתכוון. (WIN XP) 2. ה msgbox לא נעלם בסוף, צריך לסגור אותו לבד (לחיצה על OK) 3. עשיתי את זה. הבעיה היא שהחלון מוצג לחלקיק שניה ואז נסגר, ואני מעוניין שהחלון לא יהיה מוצג בכלל. תודה
 

ארזירון

New member
הסברים

תחת Start -> Programs -> accessories -> system tools תמצא את ה-scheduled tasks הבעיה היא שתחת XP אתה חייב לעשות את זה מה-command line (חלון cmd) כדי שזה ירוץ תחת ה-system account מה שזה אומר שזה פשוט ירוץ תחת הרשאות של מערכת ההפעלה, ואז לא יהיה לזה שום חלון. כיון שהתוכנית לא נסגרת בסוף לבד, אלא חייבים ללחוץ אוקיי, אתה עדיין תצטרך את התוכנית שלך, היא פשוט תצטרך למצוא את החלון שלא מוצג
אם תריץ את ה-task manager אז אתה תראה את ה-process כשהוא עובד, והמשתמש שמריץ את ה-process יהיה system.
 
למעלה