Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.07.2012, 17:27   #1
NewBoy
Пользователь
 
Аватар для NewBoy
 
Регистрация: 12.06.2012
Сообщений: 41
Восклицание Проверка на наличие процесса

Всем снова здравствуйте.
Я работаю в BC++B.

Я проверяю на наличие процесса так:
Код:
bool found = false;
        //  Take a snapshot of all processes in the system. 
        HANDLE hProcessSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
        if ( INVALID_HANDLE_VALUE == hProcessSnap )
        {
            //QMessageBox::critical( this, tr( "Îøèáêà" ), tr( "CreateToolhelp32Snapshot âåðíóëà INVALID_HANDLE_VALUE" ) );
            //QCoreApplication::quit();
ShowMessage("Error");
            return;
        }
        
        //  Fill in the size of the structure before using it. 
        PROCESSENTRY32 pe32 = {0}; 
        pe32.dwSize = sizeof( PROCESSENTRY32 );
        if ( Process32First( hProcessSnap, &pe32 ) ) 
        { 
            do
            { 
                HANDLE hProcess;
//                QString processName = QString::fromWCharArray( pe32.szExeFile ).toLower();
//                if ( exe.endsWith( processName ) )
                 if ( std::string( "notepad.exe" ) == std::string( pe32.szExeFile ) )
                {
                    found = true;
                    break;
                }
            }
            while ( Process32Next( hProcessSnap, &pe32 ) );
        }
        CloseHandle( hProcessSnap ); 
if ( found ) {
Image2 -> Visible = true;
}
else {
Image2 -> Visible = false;
}
}
Но проверка происходит только в момент запуска программы, как сделать, чтобы она постоянно сканировала до запуска notepad.exe?
NewBoy вне форума Ответить с цитированием
Старый 16.07.2012, 17:51   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Кинь этот код в таймер. Приложение оконное? Если нет кинь код в доппоток, не забыв sleep() чтоб не гасить процессор.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.07.2012, 18:11   #3
NewBoy
Пользователь
 
Аватар для NewBoy
 
Регистрация: 12.06.2012
Сообщений: 41
По умолчанию

Спасибо за ответ.
Цитата:
Сообщение от Stilet Посмотреть сообщение
Приложение оконное?
Да.
Цитата:
Сообщение от Stilet Посмотреть сообщение
Кинь этот код в таймер.
Поподробнее пожалуйста, если можно, с примером.
NewBoy вне форума Ответить с цитированием
Старый 16.07.2012, 19:21   #4
Last
В прострации
Форумчанин
 
Регистрация: 13.01.2009
Сообщений: 239
По умолчанию

Цитата:
Сообщение от NewBoy Посмотреть сообщение
Поподробнее пожалуйста, если можно, с примером.
На серверах гугла профилактика?
Пол-жизни сидючи, в монитор глядючи...
Last вне форума Ответить с цитированием
Старый 16.07.2012, 20:52   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Поподробнее пожалуйста
Пожалуйста. На вкладке System есть компонент Timer. Кидаешь на форму, двойным кликом по событию OnTimer, на вкладке Инспектора Объектов Events получаешь шаблон события:
Код:
void __fastcall TForm2::Timer1Timer(TObject *Sender)
{

}
В его лоно укладываешь свой мегакод.
Настраиваешь интервал для таймера - он в миллисекундах.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.07.2012, 20:56   #6
NewBoy
Пользователь
 
Аватар для NewBoy
 
Регистрация: 12.06.2012
Сообщений: 41
По умолчанию

Цитата:
Сообщение от Last Посмотреть сообщение
На серверах гугла профилактика?
Оу, извиняюсь за нубство. Я просто не предполагал, что речь идёт о том самом таймере. Думал это какой-то термин на сленге. Всё работает, спасибо.
NewBoy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка на наличие файла ruavia3 Microsoft Office Excel 1 05.02.2010 21:13
Проверка на наличие файла Vladya Общие вопросы Delphi 7 10.10.2009 01:26
Проверка на наличие в массиве istoe Microsoft Office Excel 8 26.08.2009 11:55
Проверка на наличие файла Demetrius Помощь студентам 12 28.07.2009 00:27
Проверка на наличие таблицы в БД Ramires БД в Delphi 3 18.12.2008 08:59