Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> работа с windows service. и графикой 
:(
    Опции темы
limelight
Дата 23.10.2010, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 19.10.2009

Репутация: нет
Всего: нет



Привет всем.

Написал сервис который каждые 10 секунд добавляет в log файл информацию о текущем времени а также инфу о том что он был запущен либо был завершен.
Захотел решить другую задачу - через определенное время делать принтскрин экрана, создавать файл с именем времени, и сохранять все это. все работает кроме одного - картинка получается пустая, т.е. в этот файл ничего не сохраняется.
В чем может быть проблема? буду благодарен за любую информацию по теме!

Вот код:
Код

private StreamWriter file;
        private FileStream fs;
        private Graphics grfx;
        private Bitmap bmp;
        private string temp;
        //Определяем таймер
        private System.Timers.Timer timer1;
        private const string MY_PATH = @"D:\";
        private const string EXTENSION = ".bmp";

        protected override void OnStart(string[] args)
        {
            file = new StreamWriter(new FileStream("D:\\temp.log",
    System.IO.FileMode.Append));
            this.file.WriteLine("MyFirstService стартовал");
            this.file.Flush();
            //Создаем таймер и выставляем его параметры
            this.timer1 = new System.Timers.Timer();
            this.timer1.Enabled = true;
            //Интервал 10000мс - 10с.
            this.timer1.Interval = 10000;
            this.timer1.Elapsed +=
             new System.Timers.ElapsedEventHandler(this.timer1_Elapsed);
            this.timer1.AutoReset = true;
            this.timer1.Start();
        }

        protected override void OnStop()
        {
            this.timer1.Stop();
            this.file.WriteLine("MyFirstService остановлен");
            this.file.Flush();
            this.file.Close();
        }

        private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            //Записываем время в файл или делаем все, что хотим

            this.temp = MyFirstService.MY_PATH + DateTime.Now.ToString("d.M.yyyy-HH.mm.ss") + MyFirstService.EXTENSION;
            this.fs = File.Create(temp);
            this.fs.Close();
            this.bmp = new Bitmap(1280, 800);
            this.grfx = Graphics.FromImage(bmp);
            this.grfx.CopyFromScreen(0, 0, 0, 0, new Size(1280, 800));
            this.bmp.Save(temp);
        }


п.с. в настройках сервиса, ставил галочку - разрешить взаимодействие с рабочим столом. не помогло.
п.п.с забыл добавить. если реализовать тот же функционал ,но только повесив на кнопку в обычном windows forms, то все замечательно работает!

Это сообщение отредактировал(а) limelight - 23.10.2010, 23:36
PM MAIL ICQ   Вверх
jonie
Дата 27.10.2010, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



ваш сервис запускается на особом десктопе, а не на клиентском. Потому картинка пуста. Взаимодействие в рабочим столом это "косяк" и работать он не будет. Тут мы обсуждали подробнее эту тему: http://forum.vingrad.ru/forum/topic-276608.html


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0550 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.