Brent

Brent

  • NA
  • 1
  • 0

getting the Process.MainWindowTitle while running the program as a windows service

May 29 2007 6:57 PM
I have created a program that runs as a windows service and gets a list of the processes currently running on the computer and checks the title of the main window for a key word, if that word is found it closes the process. here is the method: public void KillProcessByWindowTitle(string title, bool caseSensitive) { Process[] myPSList = Process.GetProcesses(); foreach (Process p in myPSList) { if (caseSensitive) { if (p.MainWindowTitle.Contains(title)) { p.Kill(); } } else { string mainWindowTitle = p.MainWindowTitle; mainWindowTitle = mainWindowTitle.ToLower(); title = title.ToLower(); if (mainWindowTitle.Contains(title)) { p.Kill(); } } } } It seems to not be able to get the window names. I can get a list of the process just fine. It is pretty annoying to debug this because you can't run a windows service in the debugger. I added a textwriter that writes the name of the process and any title it pulls. When I run this method in a test app that runs like a normal windows program it works perfect. The textfile has Process: title: . When it runs as a windows service the titles do not come through. My text file has Process: title: I have tried to run the service as a local user instead of Local System. I tried adding "." to the GetProcesses(); Anyone have any ideas? Thanks,

Answers (1)