Vb.NET İle İşlem Durdurabilmek Mümkün Mü?
-
Merhaba. vb.net ile yaptığımız bir program ile, başka bir programın çalışmasını durdurabilirmiyiz(durdurup aksiyona girmesini engellemek amacıyla)? Örneğin a.exe internet explorer'ı açmak ile görevli. Yaptığımız program arka planda çalışır vaziyette a.exe açınca onu durduracak. Teşekkürler.
-
windows api si kullanmadan en rahat
timer ile saniyede(daha kısa sürede olur) bir process listesini alıp, istediğin işlemi gene process.kill metoduyla durdurabilirsin
-
createprocessA/W, shellexecuteA/W/EX/ terminateprocess (kernel32.dll/shell32.dll) apilerini hook edebilirsin...
-
SharpShooter bunu yazdı:
-----------------------------windows api si kullanmadan en rahat
timer ile saniyede(daha kısa sürede olur) bir process listesini alıp, istediğin işlemi gene process.kill metoduyla durdurabilirsin
-----------------------------Firewall tarzı birşey istemiş galiba. Çalışan işlemi değilde, çalışan işlemin yaptığı işlemi durdurcak
-
Cevaplarınız için çok teşekkürler.
DE5TROY3R bunu yazdı:
-----------------------------SharpShooter bunu yazdı:
-----------------------------windows api si kullanmadan en rahat
timer ile saniyede(daha kısa sürede olur) bir process listesini alıp, istediğin işlemi gene process.kill metoduyla durdurabilirsin
-----------------------------Firewall tarzı birşey istemiş galiba. Çalışan işlemi değilde, çalışan işlemin yaptığı işlemi durdurcak
-----------------------------Evet aynen öyle. Ayrıca "kill" yanlış bilmiyorsam programı kapatıyor ve timer ile çalışan programın pid'ini alıyorum aldım derken o program zaten yapacağını yapmaz mı?
-
Verdiğiniz bilgiler ışığında şöyle birşeyler denedim;
Önce bir programcık yaptım(x.exe). Bu programcık çalıştığında c sürücüsünde bir dosya oluşturuyor. Şimdi esas yapmak istediğim daha öncede bahsettiğim gibi, bu tip destursuz işler yapan işlemleri engellemek.
Esas program ise şuan şöyle;
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
System.Diagnostics.Process.GetCurrentProcess().PriorityClass = System.Diagnostics.ProcessPriorityClass.RealTime
End Sub
Bu kod ile esas çocuğu gerçek zamanlı olarak çalıştırdım.Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Dim pProcess() As Process = System.Diagnostics.Process.GetProcessesByName("x")
For Each p As Process In pProcess
p.Kill()
Next
End SubTimer1.interval=1 ve enabled=true olarak, esas çocuğumuz x'i ses çıkaramadan kapatıyor. Sonrasında bir uyarı " felanca sürüm ve yayıncıya ait X isimli program çalışmak istedi. ne yapılmasını istersiniz? a)kapat b)kapat ve kara listeye ekle hatta sil gitsin c)çalıştır ç)güvenli uygulama olarak ata ...
Neticede oldumu sana güvenlik programı?
Düzenleme: imlâ
