Форум программистов, компьютерный форум, киберфорум
Наши страницы

Есть процесс A и дочерний процесс B, который находит хэндл родительского процесса A. И этот хэндл в разных случаях РАЗНЫЙ! Почему? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Strtok() и string http://www.cyberforum.ru/cpp-beginners/thread333623.html
По заданию нужно воспользоваться именно strtok чтобы разбить строку что есть на слова (ориентируясь на пробелы, все знаки препинания предварительно убираются). Собственно string str; ... string...
C++ Read PNG in C Всем привет. Подскажите как на С (без привлечения сторонних библиотек) прочитать PNG файл. В конечном итоге хотелось бы получить двумерный массив, где номер элемента - это положения пикселя, а сам... http://www.cyberforum.ru/cpp-beginners/thread333615.html
C++ Пузырьковый метод
Не могу написать простейший пузырьковый метод. Откуда берется ноль ? #include <iostream> using namespace std; int main() {setlocale(LC_ALL,"Rus"); int a,r=100; for(int y=0;y<5;y++)...
C++ error LNK2019: ссылка на неразрешенный внешний символ
Всем привет. Вопрос легкий, но что-то я застопорился. Делал задачки с книги Джесса Либерти, и на классах завис. По идеи все должно было работать без проблем,но увы... Вот код задачи. #include...
C++ операция повторения http://www.cyberforum.ru/cpp-beginners/thread333537.html
#include <iostream> using namespace std; int main() { int match, win, ni, por; cout<<"Введите количество матчей: "; cin >> match; cout<<"Введите количество побед: ";...
C++ как сделать вывод текста, результата и продолжение текста #include <iostream> using namespace std; int main() { int win; cout<<"Введите цифру\n"; cin >> win; cout<<"Результат " << win * 3 << endl; ... подробнее

Показать сообщение отдельно
kravam
быдлокодер
1700 / 887 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
17.07.2011, 13:24  [ТС]
Всё получилось, а вот Ваш код я подогнал под свой, то есть просто не прерываю цикл принудительно. И тоже родительский процесс благополучно уничтожается.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  while (Process32Next(hProcessSnap, &pe32)) {
   //Ага, здесь мы споткнулись о текущий процесс 
   printf ("\nЗдесь ID найденного процесса  %x  \n", pe32.th32ProcessID);
   printf ("ID Текущего процесса  %x  \n", handle_B);
   getchar ();
   if (handle_B== pe32.th32ProcessID) {
    handle= OpenProcess (PROCESS_TERMINATE, true, pe32.th32ParentProcessID);
 
    printf("Handle = %x, error before = %d\n", handle, GetLastError());
    SetLastError(0);
    TerminateProcess(handle, 0);
    printf("Error after = %d\n", GetLastError());    
    
    //Тут  можно поставить break;    
 
   }
  }
...Так это что мы делаем? Просто напросто принудительно скидываем ошибку (мы ведь не смогли найти ей по факту вот и решили скинуть в ноль, так?) И дальше код нормально работает.

Вопрос остался: почему всё-таки возвращалась ошибка 2?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru