2017-06-07 3 views
-1

毎分実行中のアプリケーションの名前をテキストファイルに保存できるシステムサービスを作成する必要があります。実行中のアプリケーション名をテキストファイルに保存するWindowsシステムサービスがファイルを作成しないのはなぜですか?

static void Main(string[] args) 
{ 
    Timer t = new Timer(TimeSpan.FromMinutes((double)60).TotalMilliseconds); //Every minute 
    t.AutoReset = true; 
    t.Elapsed += new System.Timers.ElapsedEventHandler(your_method); 
    t.Start(); 
} 

private static void your_method(object sender, ElapsedEventArgs e) 
{ 
    Process[] processlist = Process.GetProcesses(); 
    foreach (Process theprocess in processlist) 
    { 
     string s = " Process: " + theprocess.ProcessName; 
     File.AppendAllText("RunningAplications.txt", s); 
    } 
} 

これは正しい方法ですか? (私はそれがファイルを作成しないので、私はそうは思わない)どうすればこれからシステムサービスを作成できますか?

+0

'new Timer(TimeSpan.FromMinutes((double)60).TotalMilliseconds); - >は1時間です。新しいタイマー(TimeSpan.FromMinutes(1).TotalMilliseconds);が必要です。だからそれを実行し、1分待つ。 –

+0

1に変更されて、ファイルがまだ存在しませんでした。 – newuser12321

+0

そのファイルはどこにありますか? 'File.AppendAllText(@" c:\ temp \ RunningAplications.txt "、s);' –

答えて

-1
static void Main(string[] args) 
{ 
    Timer t = new Timer(TimerCallback, null, 0, 2000); 
} 

private static void TimerCallback(Object o) 
{ 
    //I have tried this and it wrote my name. 
    System.IO.StreamWriter SaveFile = new System.IO.StreamWriter(AppDomain.CurrentDomain.BaseDirectory + "\\report.txt", true); 
    SaveFile.WriteLine("saumil"); 
    SaveFile.Flush(); 
    SaveFile.Close(); 

    ////Process[] processlist = Process.GetProcesses(); 
    ////foreach (Process theprocess in processlist) 
    ////{ 
    //// string s = " Process: " + theprocess.ProcessName; 
    //// SaveFile.WriteLine("saumil"); 
    //// SaveFile.Flush(); 
    //// SaveFile.Close(); 
    //// //SaveFile.WriteLine(s); 
    ////} 
} 
+0

まだ同じ何かが動かない、私は何もファイルに保存されていないことを意味します。 – newuser12321

関連する問題