Bu yazımda sizlere çalışan bir processi kill(sonlandırmayı) anlatacağım. Çalışan bir processi kill ederseniz bu processi çalıştıran birden fazla açık dosya varsa (Excel gibi) tüm çalışan processleri kapatır.
[code lang=”c”]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Threading;
namespace ConsoleApplication1
{
class Program
{
public static void HataMesajiYaz(Exception HataMesaji)
{
string strLogMessage = "\nMessage : " + HataMesaji.Message +
"\nSource : " + HataMesaji.Source +
"\nTarget Site : " + HataMesaji.TargetSite +
"\nStack Trace : " + HataMesaji.StackTrace;
string logName = "BenimProjem";
// EventLogda Hata Mesajının Nereye yazılacağını Belirliyoruz. BenimProjem adında bir Log adı olmadığı için açmamız gerekiyor. Bunu da aşağıda anlatacağım.
if (!EventLog.SourceExists(logName))
{
EventLog.CreateEventSource(logName, logName);
}
EventLog log = new EventLog();
//Nereye yazılacak? Event Logda BenimProjem Event log dosyasına yazılacak.
log.Source = logName;
// Hata Mesajını alıyoruz.
strLogMessage += "\r\n\r\n————————–\r\n\r\n" + HataMesaji.ToString();
// Hata mesajını log dosyasına yazdırıyoruz.
log.WriteEntry(strLogMessage, EventLogEntryType.Error, 65534);
}
public void runProcess(string processname)
{
Process p = Process.Start(processname);
}
public void killProcess(string processname)
{
foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcesses())
{
Console.WriteLine(p.ProcessName);
if (p.ProcessName.Equals(processname))
p.Kill();
}
}
static void Main(string[] args)
{
try
{
Program p = new Program();
string username = System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString();
Console.WriteLine(username);
// p.runProcess("notepad");
p.killProcess("notepad");
}
catch (Exception ex)
{
HataMesajiYaz(Exception ex)
}
}
}
}
FATİH
29/08/2017 — 18:29
process kill metodu açık olan excel sayfalarını da kapatıyor. Yani kullanıcı başka bir excel sayfasıyla çalışıyorsa onu da kapatıyor. Bana sadece benim aktardığım sayfayı kapatacak bişey lazım