Sorun:
Çözüm: Evet bu mümkündür .bat ta kullanılabilir .vbs de
.bat ile
@echo off taskkill /f /IM explorer.exe game.exe Start explorer.exe
.vbs ile
Set objScriptShell = CreateObject("Wscript.Shell") objScriptShell.Run "taskkill /f /im explorer.exe", 0, true On Error Resume Next objScriptShell.Run "explorer.exe", 0, true
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
Set objScriptShell = CreateObject("Wscript.Shell") objScriptShell.Run "taskkill /f /im msnmsgr.exe", 0, true On Error Resume Next objScriptShell.Run "msnmsgr.exe", 0, true
Durdurma
Set objScriptShell = CreateObject("Wscript.Shell") objScriptShell.Run "taskkill /f /im explorer.exe", 0, true
Başlatma
Set objScriptShell = CreateObject("Wscript.Shell") objScriptShell.Run "explorer.exe", 0, true
Set objScriptShell = CreateObject("Wscript.Shell")
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şılabilir
Set objScriptShell = CreateObject("Wscript.Shell") objScriptShell.Run "taskkill /f /im explorer.exe", 0, true objScriptShell.Run "explorer.exe", 0, true
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
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.