|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Скомпилированная программа не подключается к процессу
Доброго времени суток! Уважаемые, нужна ваша помощь или дельный совет.
Написал небольшую программку которая показывает информацию о состоянии игрока в онлайн игре, но почему-то она не может подключиться к процессу игры. Т.е. она подключается, но только если ее запустить из под Delphi, то она работает отлично. А если запустить уже скомпилированную программу, то она не подключается. Хотя видно, что находит ID процесса. Может кто сталкивался с таким или просто знает в чем может быть проблема. Буду признателен вашим советам и помощи! Чтобы все было более наглядно, я записал видео: https://www.youtube.com/watch?v=fjZnavjs6AU |
#2
|
|||
|
|||
Все, всем спасибо за просмотр моей темы. Разобрался сам. Нужно было дать привилегии. Добавил функцию в код и все заработало.
Код:
function EnableDebugPrivilege(const Value: Boolean): Boolean; const SE_DEBUG_NAME = 'SeDebugPrivilege'; var hToken: THandle; tp: TOKEN_PRIVILEGES; d: DWORD; begin Result := False; if OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, hToken) then begin tp.PrivilegeCount := 1; LookupPrivilegeValue(nil, SE_DEBUG_NAME, tp.Privileges[0].Luid); if Value then tp.Privileges[0].Attributes := $00000002 else tp.Privileges[0].Attributes := $80000000; AdjustTokenPrivileges(hToken, False, tp, SizeOf(TOKEN_PRIVILEGES), nil, d); if GetLastError = ERROR_SUCCESS then begin Result := True; end; CloseHandle(hToken); end; end; |
Этот пользователь сказал Спасибо djanius за это полезное сообщение: | ||
Admin (17.10.2016)
|