Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

[C#] проблема с таймером и процессами

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C# только в данном разделе

Ответ
 
Опции темы
Старый 10.09.2011, 19:54   #1
 Разведчик
Аватар для Некто_Я
 
Некто_Я никому не известный тип
Регистрация: 08.03.2011
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 7
Поблагодарили 0 раз(а) в 0 сообщениях
 
Exclamation [C#] проблема с таймером и процессами

Доброго времени суток!
Внизу выложен код программы,которая по идее должна каждые 100 миллисекунд проверять открыт ли процесс с именем launcher и если да, то открывать test.exe. Тестила, проверяет и открывает...Но получается что-то вроде бесконечного цикла и тест.ехе начинает открываться бесконечное кол-во раз...Я ставила переменную proc, которая вроде должна была тормозить все это дело,но все равно тест.ехе открывается бесконечно...
Помогите, пожалуйста.
Заранее спасибо.


Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
using System.Threading;

namespace WindowsFormsApplication1
{

    public partial class Form1 : Form
    {
        bool proc = false;
        public Form1()
        {
            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)
        {

            Process.Start(@"D:\test.exe");
        
        }

        private void Form1_Load(object sender, EventArgs e)
        {
           
        }

        private void button2_Click(object sender, EventArgs e)
        {
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (proc == false)
            {
                System.Diagnostics.Process[] processes;
                processes = Process.GetProcessesByName("launcher");
                foreach (System.Diagnostics.Process instance in processes)
                {
                    listBox1.Items.Add(instance.ProcessName);
                    if (instance.ProcessName == "launcher")
                    {
                        Process.Start(@"D:\test.exe");
                        proc = true;
                    }
                    
                }
            }
        }
        }
    }
  Ответить с цитированием
Старый 10.09.2011, 20:01   #2
 Разведчик
Аватар для •theSaboteur•
 
•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен
Регистрация: 14.07.2011
Сообщений: 27
Популярность: 244
Сказал(а) спасибо: 26
Поблагодарили 47 раз(а) в 37 сообщениях
Отправить сообщение для •theSaboteur• с помощью ICQ
 
По умолчанию Re: [C#] проблема с таймером и процессами

Не знаю что у тебя за баги, но чем их искать лучше просто использовать timer1.Stop();
И когда работаешь с булевскими переменными (это бред конечно, но меня почему-то задело ) условия удобнее проверять так:
Код:
if(proc){}
Код:
if(!proc){}
..До чего меня простуда довела хД



//added 20:10
Да что ж такое, не хочу я думать

//added 20:11
Наверное с компилером не так что, если он timer.Stop() игнорит
________________
Ну что лежишь ты Мурка, на краю дороги
Гробоваая крыышкаа над тобооой

Последний раз редактировалось •theSaboteur•; 10.09.2011 в 20:10.
  Ответить с цитированием
Старый 10.09.2011, 20:18   #3
 Разведчик
Аватар для Некто_Я
 
Некто_Я никому не известный тип
Регистрация: 08.03.2011
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 7
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: [C#] проблема с таймером и процессами

сами исходники или код?тот код,который я скинула - весь....быть может оно бесконечно запускается,потому что я лаунчер открываю и он остается открытым?хотя проверка с буловскими переменными и стоп таймера должны были все тормознуть...
  Ответить с цитированием
Старый 10.09.2011, 20:23   #4
 Разведчик
Аватар для Некто_Я
 
Некто_Я никому не известный тип
Регистрация: 08.03.2011
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 7
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: [C#] проблема с таймером и процессами

Выдает ошибки...типа в текущем контексте не существует,сейчас скину...
  Ответить с цитированием
Старый 10.09.2011, 20:23   #5
 Разведчик
Аватар для •theSaboteur•
 
•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен
Регистрация: 14.07.2011
Сообщений: 27
Популярность: 244
Сказал(а) спасибо: 26
Поблагодарили 47 раз(а) в 37 сообщениях
Отправить сообщение для •theSaboteur• с помощью ICQ
 
По умолчанию Re: [C#] проблема с таймером и процессами

fanat2010 да тут уже вопрос скорее в том, какого черта компилер игнорирует timer1.Stop();
Интересно, черт подери хД
________________
Ну что лежишь ты Мурка, на краю дороги
Гробоваая крыышкаа над тобооой
  Ответить с цитированием
Старый 10.09.2011, 20:27   #6
 Разведчик
Аватар для •theSaboteur•
 
•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен
Регистрация: 14.07.2011
Сообщений: 27
Популярность: 244
Сказал(а) спасибо: 26
Поблагодарили 47 раз(а) в 37 сообщениях
Отправить сообщение для •theSaboteur• с помощью ICQ
 
По умолчанию Re: [C#] проблема с таймером и процессами

Цитата:
Сообщение от fanat2010Посмотреть сообщение
Таймер ставить на паузу не надо, я поставил проверку в коде на булевский тип, и причем еще и в цикле..

Автор тоже ставил проверку и компилер продалжает выдавать фокусы)
________________
Ну что лежишь ты Мурка, на краю дороги
Гробоваая крыышкаа над тобооой
  Ответить с цитированием
Старый 10.09.2011, 20:48   #7
 Разведчик
Аватар для •theSaboteur•
 
•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен
Регистрация: 14.07.2011
Сообщений: 27
Популярность: 244
Сказал(а) спасибо: 26
Поблагодарили 47 раз(а) в 37 сообщениях
Отправить сообщение для •theSaboteur• с помощью ICQ
 
По умолчанию Re: [C#] проблема с таймером и процессами

Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
using System.Threading;

namespace WindowsFormsApplication1
{

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)
        {

            Process.Start(@"D:\некромантия\WindowsFormsApplication4\WindowsFormsApplication4\bin\Debug\HimeraPW.exe");
            
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Interval = 1000;
            timer1.Start();
        }

        private void button2_Click(object sender, EventArgs e)
        {
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            
                System.Diagnostics.Process[] processes;
                processes = Process.GetProcessesByName("AIMP3");
                foreach (System.Diagnostics.Process instance in processes)
                {
                    listBox1.Items.Add(instance.ProcessName);
                    
                        M
                           Process.Start(@"D:\некромантия\WindowsFormsApplication4\WindowsFormsApplication4\bin\Debug\HimeraPW.exe");
                           
                            timer1.Stop(); 
                        
                    
                
        }
        }

        
    }
Проблемма была в том, что цикл запускался из за свойства таймера Enabled установленного в true, и посему timer1.Stop() бессилен)
________________
Ну что лежишь ты Мурка, на краю дороги
Гробоваая крыышкаа над тобооой
  Ответить с цитированием
Пользователь сказал cпасибо:
Некто_Я (10.09.2011)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема Mouse King Общение и обсуждение Counter-Strike 4 17.02.2011 13:09
[Помогите!] C# как работать с таймером? niklod Школа Читера 2 26.01.2011 20:41
[Статья] Передача сокетов между процессами Tem1q С/С++ 0 06.12.2010 16:33
[Помогите!] Подскажите кликер клавиш F с таймером MOHCTPO Rising Force Online 2 22.09.2010 13:59

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 23:48.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net