Форум программистов, компьютерный форум CyberForum.ru

Проверка запуска программы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ С++ имеющих четные порядковые номера и являющихся нечетными числами http://www.cyberforum.ru/cpp-beginners/thread1073138.html
Даны натуральные числа n, A1, A2,....An.Определить количество членов Ak последовптельности A1,...An: имеющих четные порядковые номера и являющихся нечетными числами #incluse <stdio.h> #include <math.h> int main() { int n; /*количество чисел*/ int i, /*очередное число*/ int a k=0,
C++ Как заменить цикл while на рекурсию? Как сделать в даной функции, вычисления через рекурсию, а не через цикл... тут происходит розложение в ряд Тейлора, http://www.cyberforum.ru/attachment.php?attachmentid=353685&stc=1&d=1389619565 double getf(double x, double eps) // значение по разложению { double first = x; double member = 1/first; int k = 3; double ret = 0.0; http://www.cyberforum.ru/cpp-beginners/thread1073106.html
Неименнованный канал C++
Почему так происходит, что функция read в такой связке записывает данные в неименнованный канал, хотя по идее она должна читать из него? #define bufsize 4096 char buf; pid = fork(); if (pid != 0) { read(filedes, buf, bufsize); } else
C++ Как происходит процесс выделения памяти в стеке и куче
#include <stdio.h> #include <conio.h> #include <windows.h> #include "disc.h" void main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); Disc d1,d2;
C++ Интерационные циклы (найти ошибку) http://www.cyberforum.ru/cpp-beginners/thread1073045.html
Скажите, пожалуйста, где я допустила ошибку? #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <cmath> using namespace std;
C++ Деструктор абстрактного класса Почему деструктор абстрактного класса нужно делать виртуальным? подробнее

Показать сообщение отдельно
fier
127 / 12 / 1
Регистрация: 05.08.2013
Сообщений: 222
16.01.2014, 15:27     Проверка запуска программы
Всем здравствуйте.
Кто-нибудь знает надёжный способ проверки, запущена-ли определённая программа или нет?
Сейчас использую такую ф-ю
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
BOOL WeAreAlone( const char * const processName )
{
   HANDLE hSnapshot = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
 
   PROCESSENTRY32 pe;
   pe.dwSize = sizeof( PROCESSENTRY32 );
   Process32First( hSnapshot, &pe );
 
   while( 1 ) {
       if( strcmp( pe.szExeFile, processName ) == 0 ) return true;
       if( !Process32Next( hSnapshot, &pe ) ) return false;
   }
}
У этого решения есть свои недостатки, к примеру, если закрыть программу, которую проверяешь и сразу-же запустить приложение, использующее такую ф-ю, то эта ф-я WeAreAlone вернёт true, т.к. процесс пропадает не мгновенно.
Есть ещё вариант - поставить sleep() в самом начале приложения, но мне кажется, что тоже не очень хорошо.
Можно использовать проверку окна, но это плохой вариант.
Может кто знает лучший?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru