2
私は1000milliseconds(1秒)ごとにSkypeという名前のプロセスを終了させるサービスを作ろうとしています。私はそれがすべて正しく、すべてが動作している、などを記録していることを100%確信していますが、プロセスを殺すことはありません。Process、Kill()Not Working
private System.Timers.Timer _timer;
protected override void OnStart(string[] args)
{
try
{
_timer = new System.Timers.Timer(100);
_timer.Elapsed += _timer_Elapsed;
_timer.Enabled = true;
if (!EventLog.SourceExists("MYTESTSERVICE"))
EventLog.CreateEventSource("MYTESTSERVICE", "MYTESTSERVICE LOG");
//_timer.Start();
Process[] p = Process.GetProcessesByName("Skype");
foreach (Process proc in p)
{
proc.Kill();
proc.WaitForExit();
EventLog.WriteEntry("User Tried To Start Skype! Closed.", EventLogEntryType.Warning);
}
}
catch (Exception ex)
{
EventLog.WriteEntry(String.Format("WcfServiceHostTest \n Exception Message: {0}\nTrace: {1}", ex.Message, ex.StackTrace), EventLogEntryType.Error);
}
}
私は現在、タイマーを使用していませんが、サービスの起動時にテストします。 Skypeが実行中の場合、プロセスは強制終了されません。私はメモ帳にもしようとしました。私はこれに関する研究をしましたが、答えは見つかりませんでした。
ご協力いただきましてありがとうございます。
- セブ
を? – Alfie
サービスをアンインストールし、インストールして実行するバッチファイルがあります。これはすべて管理モードで行われます。これはあなたが意味することですか? – AGuyNamedPotato
pに要素がありますか?はいの場合:実行がproc.WaitForExit()を過ぎていますか? – FunkyPeanut