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

Управление памятью другой программы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ MSVS или MINGW http://www.cyberforum.ru/cpp/thread1561773.html
Привет всем. У меня скоро заканчивается пробная версия visual studio и я думаю установить mingw(операционная система Windows). Как mingw? Лучше mcvs? Мне обязательно чтобы отладчик был хороший. Но...
C++ Visual Studio + CUDA Устанавливаю CUDA 7.5 с сайта https://developer.nvidia.com/cuda-downloads Затем для интеграции в Visual Studio 2015 скачиваю Nsight™ Visual Studio Edition 5.0 с сайта... http://www.cyberforum.ru/cpp/thread1561713.html
Объяснения по DynCall C++
(сижу на MSVC 2005 и 2013) Нужна помощь по следующим пунктам: 1. Что надо чтоб начать работать с DynCall (что то в проэкте подключить, либы, что то заинсталлить?..) 2. Примеры простеньких...
C++ Нужна программа для ввода текста в окно любого чата
Доброго времени суток, хотел бы сделать программму для вывода текста в чат и отправки. Не судите строго.
C++ Стеганографическое маскирование текста в аудио-контейнере методом расширения спектра http://www.cyberforum.ru/cpp/thread1561049.html
Добрый вечер! Может быть кто-то поможет найти исходники каких-нибудь программ на си++ именно с шифрованием в аудио-контейнер? Или реализацию этого метода для контейнера-изображения?
C++ Проинициализировать sdl раньше чем другие файлы Есть проект из нескольких файлов. Этот проект использует библиотеку sdl. Есть главный файл, где проходит инициализация sdl и есть функция main. Еще есть два файла: один заголовочный ,другой cpp. В... подробнее

Показать сообщение отдельно
xxXAKEPxx
2 / 2 / 0
Регистрация: 30.01.2013
Сообщений: 149
26.10.2015, 10:45  [ТС]
GetProcessId() возвращает Id процесса на основе его хэндела, а мне нужно как раз получить хэндл.

Добавлено через 37 минут
Нашёл ответ на другом форуме:
"Ошибка 5 означает что всё ок, только закрыт доступ, я нашел решение первого вопроса через добавления флага доступа пользователю SE_DEBUG_NAME, кода побольше но зато работает, хочу заметить что этот флаг включен по умолчанию в винде, просто мою винду поимели пару вирусов =(
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
HANDLE NEW_OpenProcess(DWORD dwProcessId)
{
        HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessId);
        
        if (hProcess == NULL)
        {
            TOKEN_PRIVILEGES Priv, PrivOld;
            DWORD cbPriv = sizeof(PrivOld);
            HANDLE hToken;
 
            // получаем токен текущего потока
            if (!OpenThreadToken(GetCurrentThread(), TOKEN_QUERY|TOKEN_ADJUST_PRIVILEGES, FALSE, &hToken))
            {
                // используем токен процесса, если потоку не назначено
                // никакого токена
                OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY|TOKEN_ADJUST_PRIVILEGES, &hToken);
            }
 
            Priv.PrivilegeCount = 1;
            Priv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
            LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &Priv.Privileges[0].Luid);
 
            // попробуем включить привилегию
            AdjustTokenPrivileges(hToken, FALSE, &Priv, sizeof(Priv), &PrivOld, &cbPriv);
    
            // попробуем открыть описатель процесса еще раз
            hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessId);
        
            // восстанавливаем исходное состояние привилегии
            AdjustTokenPrivileges(hToken, FALSE, &PrivOld, sizeof(PrivOld), NULL, NULL);
            CloseHandle(hToken);
        }
 
        return hProcess;
}
"
И далее в моём коде, вместо OpenProcess() вызываем NEW_OpenProcess().
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru