Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 26th, 2012  |  syntax: None  |  size: 0.94 KB  |  hits: 8  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Simple cross-platform process to process communication in Mono?
  2. public static IList Processes()
  3.     {
  4.         IList<Process> processes = new List<Process>();
  5.         foreach (System.Diagnostics.Process process in System.Diagnostics.Process.GetProcesses())
  6.         {
  7.             Process p = new Process();
  8.             p.Pid = process.Id;
  9.             p.Name = process.ProcessName;
  10.  
  11.             processes.Add(p);
  12.         }
  13.         return processes;
  14.     }
  15.        
  16. (mutex, locked) = System.Threading.Mutex(True, "MyApp/%s" % System.Environment.UserName, None)
  17. if locked:
  18.     watcher = System.IO.FileSystemWatcher()
  19.     watcher.Path = path_to_user_dir
  20.     watcher.Filter = "messages"
  21.     watcher.NotifyFilter = System.IO.NotifyFilters.LastWrite
  22.     watcher.Changed += handleMessages
  23.     watcher.EnableRaisingEvents = True
  24. else:
  25.     messages = os.path.join(path_to_user_dir, "messages")
  26.     fp = file(messages, "a")
  27.     fp.write(command)
  28.     fp.close()
  29.     sys.exit(0)