Если вы прочитаете эту статью SO , вы немного поймете, почему обычно невозможно использовать сервис и приложение с графическим интерфейсом в одном проекте.
Как указано в этой статье в проекте кода , если вы хотите решить ее с помощью приложения в виде иконки в трее, вы можете следовать этой статье за 2007 и
вы можете изучить использование System.IO.FileSystemWatcher fileWatcherService
, установив свойства Path и filter в соответствии с вашими потребностями.
fileWatcherService.Path = 'your_folder_path';
fileWatcherService.Filter = "*.*"; //watching all files
fileWatcherService.EnableRaisingEvents = true; //Enable file watcher
при удалении формы не забудьте отключить свойство повышения событий:
fileWatcherService.EnableRaisingEvents = false;
И, когда вам нужно связать какое-либо действие, присоедините обработчики событий к таким событиям, как:
public event FileSystemEventHandler Deleted;
public event FileSystemEventHandler Created;
public event FileSystemEventHandler Changed;
public event RenamedEventHandler Renamed;
public event ErrorEventHandler Error;
Например,
fileWatcherService.Created += new System.IO.FileSystemEventHandler(this.fileWatcherService_OnFileCreated);
Пока,
private void fileWatcherService_OnFileCreated(object sender, FileSystemEventArgs e)
{
//Put your popup action over here
}
Вы можете выполнить то же действие для измененных, удаленных и переименованных событий, используя повторно используемый общий метод для вызова всплывающего окна.