Çözüm: Evet bu mümkündür .bat ta kullanılabilir .vbs de .bat ile .vbs ile Peki explorer yerine başka bir programı kapatıp yeniden başlatmak istersek , örneğin msn yi restart etmek istersek nasıl yapabiliriz ? Msn i (Build 15,4...) kapatıp yeniden başlatan kod Durdurma Başlatma Set objScriptShell = CreateObject("Wscript.Shell") Kodları kullanmak için bir notepad e yapıştırıp ve Dosya - Farklı Kaydet... seçeneğine tıklayın Açılan pencerede herhangi bir isim verin (dosya ismini istediğiniz şekilde düzenleyin ) ve uzantısı .bat/.vbs olarak kaydedip çalıştırın
Sorun:
Görev yöneticisinde çalışan bir uygulamayı vbs ile nasıl sonlandıra biliriz.Örneğin explorer.exe bunu sonlandıracak ve tekrar dan çalıştıracak.Bunu vbs ile nasıl yapabiliriz ?
@echo off
taskkill /f /IM explorer.exe
game.exe
Start explorer.exe
Set objScriptShell = CreateObject("Wscript.Shell")
objScriptShell.Run "taskkill /f /im explorer.exe", 0, true
On Error Resume Next
objScriptShell.Run "explorer.exe", 0, true
Set objScriptShell = CreateObject("Wscript.Shell")
objScriptShell.Run "taskkill /f /im msnmsgr.exe", 0, true
On Error Resume Next
objScriptShell.Run "msnmsgr.exe", 0, true
Set objScriptShell = CreateObject("Wscript.Shell")
objScriptShell.Run "taskkill /f /im explorer.exe", 0, true
Set objScriptShell = CreateObject("Wscript.Shell")
objScriptShell.Run "explorer.exe", 0, true
bir defa kullanıldığına göre üstteki de bunların birleşimi (düz mantık) , explorer.exe yerine dilediğini yaz , belki bazı programların yeniden başlatılmasında sorun çıkabilir (yolunu bulamayabilir bu sorunda , direkt yolunu belirterek yada Environment variables (çevre değişkenleri) kullanılarak aşılabilirSet objScriptShell = CreateObject("Wscript.Shell")
objScriptShell.Run "taskkill /f /im explorer.exe", 0, true
objScriptShell.Run "explorer.exe", 0, true


Vbs ile işlem sonlandırma ve yeniden başlatma
10 Yorum Var





Aşağıdakini dene:
Set wshShell =wscript.CreateObject("WScript.Shell")
wshshell.sendkeys "{CAPSLOCK}"
wshshell.sendkeys "{NUMLOCK}"
wshshell.sendkeys "{SCROLLLOCK}"
Set wshShell =wscript.CreateObject("WScript.Shell")
do
wscript.sleep 100
wshshell.sendkeys "{CAPSLOCK}"
wshshell.sendkeys "{NUMLOCK}"
wshshell.sendkeys "{SCROLLLOCK}"
loop
komut diziminin sürekli tekrarlamasını nasıl engelleyebilirim ?
Tebriklerler , bu tırnak sayılarını tutturmak biraz uğraştırır.
Üstat çözdüm 🙂
Eksik tırnak koyuyormuşum, kod aşağıdaki şekilde sorunsuz çalıştı...
objScriptShell.Run "taskkill /fi ""Windowtitle eq Administrator: CMDNAME*"" /im cmd.exe", 1, true
Üstat bir önceki mesajda yazdığım cmd konudu vbs ye aşağıdaki gibi uyarladım, vbscripti çalıştırdığım zaman hata da vermiyor ancak cmd işlemini de sonlandırmıyor...
Bu tırnak işaretlerinde hata yapıyorum ama neresinde çözemedim 🙂
If Not WScript.Arguments.Named.Exists("elevate") Then
CreateObject("Shell.Application").ShellExecute WScript.FullName _
, """" & WScript.ScriptFullName & """ /elevate", "", "runas", 1
WScript.Quit
End If
'=====================================
Set objScriptShell = CreateObject("Wscript.Shell")
objScriptShell.Run "taskkill /fi Windowtitle eq Administrator: CMDNAME* /im cmd.exe", 1, true
Sorunu gördüm lakin vaktim olmadığı için cevap yazamadım , bulmana sevindim. VBs içinde bat kodları için aşağıdaki konuya bir göz at istersen
Web Link ...
Üstat üstteki sorumun çözümünü farklı bir yoldan buldum ama vbscript olarak çalıştırmam gerek.
Aşağıdaki cmd kodu sayesinde sadece bana ait işlemin cmd ekranını kapatmanın yolunu bulabildim, ancak bu cmd kodunu vbscript dosyası içinde nasıl yazabilirim?
taskkill /fi "Windowtitle eq Administrator: CMDNAME*" /im cmd.exe
Üstat vb script yardımı ile bir cmd dosyası çalıştırıyorum, vbscripte de 1 dakika bekleme süresi var, 1 dakika sonra istiyorum ki vbscript çalıştırdığım cmd ekranının process id (pid) değerini bulsun ve bulduğu pid değerine ait cmd işlemini sonlandırsın.
Normalde bu işi ben şu şekilde yapıyorum:
Set UAC = CreateObject("Shell.Application")
UAC.ShellExecute "C:\Windows\xx.cmd", "", "", "runas", 0
WScript.Sleep(60000)
Set objScriptShell = CreateObject("Wscript.Shell")
objScriptShell.Run "taskkill /f /im cmd.exe", 0, true
yukarıdaki kodlar sayesinde CMD işlemi sonlanıyor, ama diyelim ki kullanıcı da o esnada başka bir cmd ekranı açtı ve benim oluşturduğum vbscript otomatik olarak kullanıcının da cmd işlemini sonlandırdı.
Yukarıda da yazdığım gibi ben sadece bana ait cmd ekranı sonlansın istiyorum.
Bunu nasıl yapabilirim?
İki uygulamanın isimlerine Windows görev yöneticisinin işlemler kısmından bakman gerek , hangileri ise yaz ona göre bir script hazırlayalım
Merhaba, bilgilendirme için teşekkür ederim. Ben çalışan 2 uygulamayı sonlandırmadan önce bana pencere çıkarsın istiyorum. Tamam'a bastıktan sonra bu 2 uygulamayı da sonlandırması benim ihtiyacımı giderecektir. Yardımcı olabilir misiniz rica etsem.