כיצד לסגור תוכנית מ- Visual Basic

תוכן עניינים:

כיצד לסגור תוכנית מ- Visual Basic
כיצד לסגור תוכנית מ- Visual Basic
Anonim

שפת התכנות הגמישה והחזקה Visual Basic. NET, בהיותה אחד הכלים שנוצרו במיוחד לפיתוח אפליקציות לפלטפורמת Microsoft. NET, מאפשרת לך להשתמש במלוא יכולותיה. בפרט, הרכיבים של מרחב השמות System. Diagnostics מאפשרים לך לתקשר עם תהליכים, יומני אירועים ומוני ביצועים. לדוגמה, באפשרותך לסגור תוכנית מ- Visual Basic באמצעות מחלקת התהליך.

כיצד לסגור תוכנית מ- Visual basic
כיצד לסגור תוכנית מ- Visual basic

נחוץ

Microsoft Visual Studio

הוראות

שלב 1

ייבא את מרחבי השמות מערכת, מערכת דיאגנוסטיקה ומערכת השחלה. הוסף את שורות הקוד הבאות לתחילת המודול:

מערכת יבוא

ייבוא מערכת דיאגנוסטיקה

מערכת יבוא. השחלה

זה רק לנוחות השימוש ברכיבים המשויכים למרחבי שמות אלה.

שלב 2

קבל את נתוני התהליך לסגירה. השתמש באובייקט המחלקה System. Diagnostics. Process. הכריז על משתנה של סוג זה:

עמום oProc כתהליך

ואז השתמש בשיטה כלשהי כדי למצוא את התהליך הנדרש.

שלב 3

אם התוכנית, שתצטרך להיסגר בעתיד, תושק על ידי היישום המפותח, פשוט שמור את האובייקט שהוחזר בשיטת Start בעת ההפעלה:

oProc = Process. Start ("app.exe")

שלב 4

אם עליך לסגור תהליך עם מזהה ידוע, השתמש בשיטת GetProcessById הסטטית של מחלקת התהליך כדי להשיג את האובייקט המתאים:

oProc = Process. GetProcessById (nID)

כאשר nID הוא המזהה המספרי של התהליך.

שלב 5

אם רק חלק ממאפייני תהליך היעד ידועים, חפש אותו. קבל את רשימת התהליכים הפועלים במחשב המקומי כמערך של אובייקטים ממעמד התהליך. השתמש בשיטות GetProcesses (מחזירה את כל התהליכים) או GetProcessesByName (רק תהליכים עם השם הנתון):

עמעום aoAllProcesses כתהליך () = Process. GetProcesses ()

עמום aoProcsByName כתהליך () = Process. GetProcessesByName ("app.exe")

רשום את אובייקטי המערך באמצעות לולאה:

עמום oProc כתהליך

עבור כל oProc ב- aoAllProcesses

פעולות על oProc

הַבָּא

דלג בין המאפיינים MainModule, MainWindowTitle, ProcessName וכו '. כדי למצוא את האובייקט הרצוי.

שלב 6

נסה לסיים את התוכנית על ידי שליחת הודעה קרובה לחלון הראשי שלה. התקשר לשיטת CloseMainWindow של האובייקט המתאים לתהליך היעד. במידת הצורך, המתן להשלמת היישום על ידי התקשרות ל- WaitForExit, למשל:

oProc. CloseMainWindow ()

oProc. WaitForExit ()

שיטה זו אינה מבטיחה את סיום התוכנית, מכיוון שמודעות סגירת החלון מעובדות לעיתים קרובות וניתן להתעלם ממנה.

שלב 7

המתן זמן קצר לאחר התקשרות ל- CloseMainWindow כדי לוודא שהתוכנית מסתיימת. השתמש בשיטת השינה של כיתת האשכול. לאחר מכן בדוק את מצב התהליך על ידי בחינת המאפיין HasExited, ואם הוא לא הסתיים, התקשר לשיטת Kill:

Thread. Sleep (6000)

oProc. Refresh ()

אם לא oProc. HasExited אז

oProc. Kill ()

סיום אם

אם תרצה, תוכל לסקור את סטטוס התהליך בלולאה, ולהוציא הנחיות תקופתיות למשתמש לסיים את היישום מבלי לשמור נתונים. ורק אם אתה מסכים להתקשר להרוג.

שלב 8

שחרר משאבי מערכת לאחר סיום התוכנית בשיטת סגור:

oProc. Close ()

שלב 9

כדי למנוע שגיאות בלתי צפויות במהלך ביצוע היישום, הצב את כל האלגוריתם לסגירת התוכנית בבלוק Try-Catch-End Try. יישם טיפול חריג מן המניין עם הודעות אבחון, במידת הצורך.

מוּמלָץ: