Çevik və güclü proqramlaşdırma dili Visual Basic. NET, Microsoft. NET platforması üçün tətbiqetmələrin hazırlanması üçün xüsusi yaradılmış vasitələrdən biri olmaqla, bütün imkanlarından tam istifadə etməyə imkan verir. Xüsusilə, System. Diagnostics ad məkanının komponentləri proseslər, hadisə qeydləri və performans sayğacları ilə qarşılıqlı əlaqə qurma imkanı verir. Məsələn, Process sinifindən istifadə edərək Visual Basic-dən bir proqramı bağlaya bilərsiniz.
Zəruri
Microsoft Visual Studio
Təlimat
Addım 1
System, System. Diagnostics və System. Threading ad boşluqlarını idxal edin. Modulun əvvəlinə aşağıdakı kod sətirlərini əlavə edin:
İdxal sistemi
İdxal Sistemi. Diagnostics
İthalat Sistemi
Bu, yalnız bu ad məkanları ilə əlaqəli komponentlərin istifadəsinin rahatlığı üçündür.
Addım 2
Bağlanacaq müddətin məlumatlarını əldə edin. System. Diagnostics. Process sinif obyektini istifadə edin. Bu sinifin dəyişənini elan edin:
Proses Olaraq Dim
Sonra tələb olunan prosesi tapmaq üçün bir metoddan istifadə edin.
Addım 3
Gələcəkdə bağlanması lazım olan proqram hazırlanan tətbiq ilə işə salınarsa, başlanğıcda Başlat metodu ilə qaytarılmış obyekti qeyd edin:
oProc = Process. Start ("app.exe")
Addım 4
Məlum bir identifikatoru olan bir prosesi bağlamanız lazımdırsa, uyğun obyekt almaq üçün Process sinfinin statik GetProcessById metodundan istifadə edin:
oProc = Process. GetProcessById (nID)
NID prosesin ədədi identifikatorudur.
Addım 5
Hədəf prosesinin yalnız bəzi xüsusiyyətləri məlumdursa, onu axtarın. Proses sinifinin bir sıra obyektləri kimi yerli maşında işləyən proseslərin siyahısını əldə edin. GetProcesses (bütün prosesləri qaytarır) və ya GetProcessesByName (yalnız adı verilən proseslər) metodlarından istifadə edin:
Dim aoAllProcesses Process kimi () = Process. GetProcesses ()
Dim aoProcsByName Process () = Process. GetProcessesByName ("app.exe")
Bir döngə istifadə edərək sıra obyektlərinin siyahısını verin:
Proses Olaraq Dim
AoAllProcesses-də hər bir oProc üçün
oProc üzərindəki hərəkətlər
Növbəti
MainModule, MainWindowTitle, ProcessName və s. Xüsusiyyətlərini nəzərdən keçirin. istədiyiniz obyekti tapmaq.
Addım 6
Proqramı əsas pəncərəsinə yaxın bir mesaj göndərərək ləğv etməyə çalışın. Hədəf prosesinə uyğun obyektin CloseMainWindow metodunu çağırın. Lazım gələrsə, WaitForExit-ə zəng edərək tətbiqin tamamlanmasını gözləyin, məsələn:
oProc. CloseMainWindow ()
oProc. WaitForExit ()
Bu üsul proqramın ləğv olunmasına zəmanət vermir, çünki pəncərəni bağlayan mesaj tez-tez işlənir və laqeyd edilə bilər.
Addım 7
Proqramın sona çatdığından əmin olmaq üçün CloseMainWindow-a zəng etdikdən sonra qısa bir müddət gözləyin. Mövzu sinifinin Yuxu metodundan istifadə edin. Sonra HasExited xassəsini araşdıraraq prosesin vəziyyətini yoxlayın və tamamlanmadıqda Kill metodunu çağırın:
Mövzu. Yuxu (6000)
oProc. Refresh ()
Olmasa oProc. HasExited Sonra
oProc. Kill ()
Bitirsə
İstədiyiniz təqdirdə, istifadəçiyə məlumat qənaət etmədən tətbiqetməsini ləğv etməsi üçün vaxtaşırı istəklər verərək bir müddət içərisində prosesin vəziyyətini soruşa bilərsiniz. Və yalnız Kill'i çağırmağa razı olsanız.
Addım 8
Proqram Close metodundan istifadə edərək proqram bitdikdən sonra sistem resurslarını boşaldın:
oProc. Close ()
Addım 9
Tətbiqin icrası zamanı gözlənilməz səhvlərin qarşısını almaq üçün bütün proqram bağlanma alqoritmini Try-Catch-End Try blokuna yerləşdirin. Lazım gələrsə diaqnostik mesajlarla tam hüquqlu bir istisna işləmə tətbiq edin.