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

Как определить, из какого режима запущена программа? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Матрица методом крамера и алгоритм http://www.cyberforum.ru/cpp-beginners/thread56715.html
Помогите если не сложно; 1. Решить систему уравнений методом Крамера. x1 + x2 + 2x3 +3x4 = 1 3x1 - x2 - x3 - 2x4 = -4 2x1 + 3x2 - x3 - x4 = -6 x1 + 2x2 + 3x3 - x4 = 1 2. Разработать...
C++ Массив, его значение, его квадрат и т.д. Помогите написать такую программу на С++. <<Вывести на экран номер элемента одномерного массива, его значение, его квадрат, адрес ячейки памяти с использованием указателей. Элементы массива вводятся... http://www.cyberforum.ru/cpp-beginners/thread56714.html
Не работают cin и cout C++
Компилю на С++. Впервые. Использую Borland C++ Builder 6.0 Прочитал много разных самоучителей, энциклопедий по С++ Создаю приложение под windows Везде в книгах пишется команда cout, но она вобще...
C++ Разработать простой двухпросмотровый ассемблер
Нужно разработать простой двухпросмотровый ассемблер. Есть кое какие наброски
C++ Элементы массива циклически сдвинуть на k позиций влево http://www.cyberforum.ru/cpp-beginners/thread56689.html
Помогите пожалуйста написать программу!!!понимаю что все должно быть оч легко, но... В С++: 1. Дан массив, состоящий из символов. Элементы массива циклически сдвинуть на k позиций влево. 2....
C++ Элементы массива циклически сдвинуть на k позиций влево Помогите пожалуйста написать программу!!!понимаю что все должно быть оч легко, но... В С++: 1. Дан массив, состоящий из символов. Элементы массива циклически сдвинуть на k позиций влево. 2.... подробнее

Показать сообщение отдельно
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,470
16.10.2009, 21:32
Значит, вот что я нашёл по твоему вопросу.
Читаем у Джефри Рихтера,
http://wm-help.net/books-online/book...4-23.html#h1t1


"Иногда программе приходится определять свой родительский процесс. Однако родственные связи между процессами существуют лишь на стадии создания дочер него процесса. Непосредственно перед началом исполнения кода вдочернем процес се Windows перестает учитывать его родственные связи. В предыдущих версиях Win dows не было функций, которые позволяли бы программе обращаться с запросом к ее родительскому процессу. Но ToolHelp-функции, появившиеся в современных вер сиях Windows, сделали это возможным. С этой целью Вы должны использовать струк туру PROCESSENTRY32: ее элемент th32ParentProcessID возвращает идентификатор "родителя" данного процесса. Тем не менее, если Вашей программе нужно взаимодействовать с родительским процессом, от идентификаторов лучше отказаться. Почему — я уже говорил. Для определения родительского процесса существуют более надежные механизмы: объекты ядра, описатели окон и т. д.
Единственный способ добиться того, чтобы идентификатор процесса или потока не использовался повторно, — не допускать разрушения объекта ядра "процесс" или "поток". Если Вы только что создали новый процесс или поток, то можете просто не закрывать описатели на зти объекты — вот и все. А по окончании операций с иден тификатором, вызовите функцию CloseHandle и освободите соответствующие объек ты ядра. Однако для дочернего процесса этот способ не годится, если только он не унаследовал описатели объектов ядра от родительского процесса."

Теперь по структуре PROCESSENTRY32
Вот в этой теме я с ней удачно работал, ознакомься.
ofstream

Ну, то есть тебе надо создать переменную типа PROCESSENTRY32
заполнить её и поле PROCESSENTRY32.th32ParentProcessID и есть идентификатор родителя.
Не забывай, что если ты его где-то сохранишь, а потом родитель закроется, а его PID будет использоваться... Но старина Рихтер об этом писал уже.

Если поподробнее про заполнение структуры надо- пиши в личку. Тут ссылку не даю, там хакерский какой-то ресурс, здесь это не приветствуется.

...А знаешь что в цитате самое ценное и многообещающее?
Вот эта строка
"Для определения родительского процесса существуют более надежные механизмы: объекты ядра, описатели окон и т. д. "
То есть Рихтер намекает, что возможен доступ к объектам ядра!
А если его ещё и модифицировать можно- это полный контроль над системой!
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru