Модераторы: feodorv, GremlinProg, xvr, Fixin

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> получить текст заголовка окна 
V
    Опции темы
boostcoder
Дата 7.6.2011, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



всем доброго дня.

есть список процессов полученный с помощью CreateToolhelp32Snapshot().
отсюда у меня есть имя исполняемого файла, и ID процесса(PROCESSENTRY32::th32ProcessID).

подскажите, как мне из того что имеется, получить текст заголовка(title?, caption?) окна?

спасибо.

PM WWW   Вверх
Dem_max
Дата 7.6.2011, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 16
Всего: 39



EnumThreadWindows() ?


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
boostcoder
Дата 7.6.2011, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



Dem_max, 
Цитата

Enumerates all nonchild windows associated with a thread

перечисление дочерних окон мне не нужно.
тут наверное нужно получить HANDLE основного окна, и уже у него взять текст в заголовке.

но я не знаю как это сделать.

Добавлено через 6 минут и 52 секунды
хотя...
Цитата

nonchild

я не знаю как это понимать.. только основные окна? окна без детей?
PM WWW   Вверх
DiGGeRR
Дата 7.6.2011, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 10.5.2009

Репутация: нет
Всего: нет



nonchild - то есть те, у которых нет родителя (точнее, есть - HWND_DESKTOP = NULL). Не факт, что это главное окно. Оно может быть вообще невидимо, и юзаться для получения broadcast сообщений.
К тому же окон может быть несколько, равнозначных для приложения.
PM MAIL   Вверх
boostcoder
Дата 7.6.2011, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



кто-то может внятно объяснить, что нужно сделать чтоб получить текст заголовка основного окна зная ID процесса?
PM WWW   Вверх
500mhz
Дата 7.6.2011, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 3
Всего: 14



GetWindowText


--------------------

PM MAIL ICQ   Вверх
boostcoder
Дата 7.6.2011, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



500mhz, спасибо.
осталось понять, как зная ID процесса(PROCESSENTRY32::th32ProcessID) получить HWND(HANDLE?) окна.
PM WWW   Вверх
500mhz
Дата 7.6.2011, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 3
Всего: 14



GetWindowHandle )))


--------------------

PM MAIL ICQ   Вверх
DiGGeRR
Дата 7.6.2011, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 10.5.2009

Репутация: нет
Всего: нет



Никак. У приложения может быть НЕСКОЛЬКО окон, и для системы они все равнозначны.
Можно только с помощью EnumThreadWindows получить список nonchild окон. Если окно видимо (IsWindowVisible) и имеет ненулевые размеры (GetWindowRect), то, скорее всего, это главное окно.
PM MAIL   Вверх
500mhz
Дата 7.6.2011, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 3
Всего: 14



двоешники )))
винда какбэ не дает возможности получит handle окна по pid
но можно пойти другим путем

делаем GetTopWindow
получаем handle окна
делаем GetWindowThreadProcessId
получаем pid 
ну и сравниваем с интересуюшим нас pid


--------------------

PM MAIL ICQ   Вверх
volatile
Дата 8.6.2011, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



500mhz, ну в общем да, но как мы вызовем GetTopWindow ? ей же нужно какой-то HWND дать, а у нас как я понял только ProcessId
Я бы сделал это так.
Код

BOOL CALLBACK my_func ( HWND hwnd,  LPARAM lParam )
{
    DWORD procID;
    GetWindowThreadProcessId ( hwnd,  &procID );
    if ( procID == lParam )
    {
        char title [128];
        GetWindowText( hwnd, title, sizeof(title) );
        // --< Здесь в title у нас текст заголовка >--

        return FALSE; // заканчиваем цикл после первого встреченного окна.
                      // если у процесса есть другие окна можно продолжить цикл (return TRUE)
    }
    return TRUE; // продолжаем цикл
}

void find_title ()
{
   EnumWindows( my_func, procID ); // procID - Требуемый  проц ID
}


PM MAIL   Вверх
500mhz
Дата 8.6.2011, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 3
Всего: 14



заменим на GetActiveWindow или GetForegroundWindow


--------------------

PM MAIL ICQ   Вверх
volatile
Дата 8.6.2011, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



Цитата(500mhz @  8.6.2011,  00:57 Найти цитируемый пост)
заменим на GetActiveWindow или GetForegroundWindow 

не-а  smile 
Нужный нам процесс может быть не активным и не Foreground.

PM MAIL   Вверх
GremlinProg
Дата 8.6.2011, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



Цитата(500mhz @  8.6.2011,  01:36 Найти цитируемый пост)
делаем GetWindowThreadProcessIdполучаем pid ну и сравниваем с интересуюшим нас pid

Цитата(volatile @  8.6.2011,  02:49 Найти цитируемый пост)

а у нас как я понял только ProcessId
Я бы сделал это так.

под одним PID'ом будут все окна интересующего приложения

я бы смирился с частным вариантом: изучить иерархию окон интересующего приложения (Spy) и получить исходя из нее заголовок :)


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
ASMatic
Дата 8.6.2011, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 14.3.2009

Репутация: 1
Всего: 1



500mhz,  а если наше окно не TopWindow?
*произвольное окно в произвольном состоянии*
GetWindowRect() тож не показатель - одним тредом, пусть даже единственным в процессе, можно "раздавать" мессаги нескольким "полноценным" окнам..
= главное окно приложения, неверное выражение, т.к. нету такова.)

и как говорит GremlinProg, нужно сигнатурки создавать, иногда ищу окна по их классу\положению относительно других окон с определённым класом\стилем\положением (это с дочерными так) А "главное" , да - по имени класса\тексту заголовка оптимальный вариант., темболее есть PID.
PM MAIL   Вверх
500mhz
Дата 8.6.2011, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 3
Всего: 14



ASMatic
в целях безопасности в некоторых браузерах и прочем софте классы и имена рандомными стали делать с недавнего времени.


--------------------

PM MAIL ICQ   Вверх
ASMatic
Дата 8.6.2011, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 14.3.2009

Репутация: 1
Всего: 1



500mhz, я же говорю - нужно искать сигнатуры, на топ виндов нефиг надеятся..Это дело случая, в одном варианте класс окна пойдёт, во втором нужно перебирать все и по пути к процессу определять кто есть кто.. Да и брасеров окна зачем искать.)
PM MAIL   Вверх
500mhz
Дата 8.6.2011, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 3
Всего: 14



мы же не знаем какой софт ТС зохакать решил )))  если браузер то там совсем другой подход, если нотепад то подойдет метод что ему тут написали.


--------------------

PM MAIL ICQ   Вверх
boostcoder
Дата 8.6.2011, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



Цитата(GremlinProg @  8.6.2011,  08:17 Найти цитируемый пост)
изучить иерархию окон интересующего приложения (Spy) и получить исходя из нее заголовок

похоже, это единственный адекватный вариант.

всем спасибо.

PM WWW   Вверх
volatile
Дата 8.6.2011, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



Цитата(boostcoder @  8.6.2011,  11:13 Найти цитируемый пост)
изучить иерархию окон интересующего приложения 


boostcoder, в моем варианте функция EnumWindows возвращает только 
Цитата
The EnumWindows function enumerates all top-level windows 

Изучая "иерархию окон интересующего приложения" вручную, вы точно также найдете именно эти окна.
Просто у процесса может быть несколько top-level окон.

PM MAIL   Вверх
boostcoder
Дата 8.6.2011, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



volatile, ну, тогда я в замешательстве...

Добавлено через 59 секунд
вообще-то, мне это нужно для "отлова" читерских программ. а они, как правило, однооконные.
PM WWW   Вверх
ASMatic
Дата 8.6.2011, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 14.3.2009

Репутация: 1
Всего: 1



boostcoder, чит софт по окну определять это самое что может быть примитивное, т.к. окна могут называтся как хош, классы юзать какие хош = вы ща паритесь,а в в итоге толку никакова.
в вашем варианте (если там одно окно) - EnumWIndows( GetWindowThreadProcessId() )  вуаля, как и говориле выше.. Но стоит подумать над тем как по другому его определять (что это чит_софт)

500mhz, я так и не понял что это вы имели ввиду, но я когда пост свой писал - указал вам что TopLevelWindow это не метод поиска окна...
PM MAIL   Вверх
boostcoder
Дата 8.6.2011, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



ASMatic, у меня реализован перебор всех процессов для подсчета их хеш-суммы, и на основании этого прибивать процессы. но нужно еще и по заголовку отлавливать.

Добавлено через 1 минуту и 49 секунд
клиентская часть игрушки, с сервера получает инфу о известных читах. ну а админ добавляет в БД хеши и заголовки окон.
PM WWW   Вверх
volatile
Дата 8.6.2011, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



Вот немного переписал.
Внятная функция, практически доделывать вам придётся не много.

*.h
Код

// на входе procID - понятно проц.ид
// на выходе title - заголовок.
// возвращает true - ok, false - неудача.
bool find_title (DWORD procID, std::string & title);

*.cpp
Код

struct helper_struct
{
   DWORD procID;
   HWND hwnd;
};
BOOL CALLBACK my_func ( HWND hwnd,  LPARAM lParam )
{
    helper_struct * phs = (helper_struct*) lParam;
    
    DWORD procID;
    GetWindowThreadProcessId ( hwnd,  &procID );
    if ( procID == phs->procID )
    {
        phs->hwnd = hwnd;
        return FALSE; // заканчиваем цикл
    }
    return TRUE; // продолжаем цикл
}

bool find_title (DWORD procID, std::string & title)
{
   helper_struct hs;
   hs.procID = procID;
   hs.hwnd = 0;
   EnumWindows( my_func, (LPARAM)&hs ); 
   if (hs.hwnd)
   {
        char buf [128];
        GetWindowText( hs.hwnd, buf, sizeof(buf) );
        // Здесь в buf у нас текст заголовка
        title = buf;
        return 1;
   }
   return 0;
}

Попробуйте. smile 
PM MAIL   Вверх
boostcoder
Дата 8.6.2011, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



volatile, спасибо большое  smile 
PM WWW   Вверх
ASMatic
Дата 8.6.2011, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 14.3.2009

Репутация: 1
Всего: 1



Цитата(boostcoder @  8.6.2011,  10:31 Найти цитируемый пост)
роцессов для подсчета их хеш-суммы

оО
как это хеш_сумма процесса?)
PM MAIL   Вверх
boostcoder
Дата 8.6.2011, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



Цитата(ASMatic @  8.6.2011,  13:04 Найти цитируемый пост)
как это хеш_сумма процесса?

неправильно выразился. хеш-сумма исполняемого файла.
PM WWW   Вверх
ASMatic
Дата 8.6.2011, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 14.3.2009

Репутация: 1
Всего: 1



так и думал, но вот както не пойму как вы можете хешик подсчитать ЦЕЛОГО модуля, когда в нём как минимум есть секция данных (скорей всего), в которой все меняется постоянно... Ага, вы подсчитываете с диска модуль, все ясн теперь..

пс, если не секрет - какую гаму протить будете?
PM MAIL   Вверх
boostcoder
Дата 8.6.2011, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110




Aion.

но я не игрок. просто попросили помочь.
так что вопросы по игре не задавать. я ее всего раз видел.


Это сообщение отредактировал(а) boostcoder - 8.6.2011, 13:11
PM WWW   Вверх
ASMatic
Дата 8.6.2011, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 14.3.2009

Репутация: 1
Всего: 1



boostcoder, сенкс.
PM MAIL   Вверх
500mhz
Дата 8.6.2011, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 3
Всего: 14



как то не правильно на мой взгляд делать такую защиту, не проще ли в своем процессе сделать запрет на
1) OpenProcess (во избежание патчей)
2) фильтр месаджей (во избежании "тыканья по кнопочкам")



--------------------

PM MAIL ICQ   Вверх
ASMatic
Дата 8.6.2011, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 14.3.2009

Репутация: 1
Всего: 1



500mhz,  вот объясните мне - как это вы собрались защититься сделав запрет в своем процессе на OpenProcess??? И мессаги как это вы собрались фильтровать?
PM MAIL   Вверх
500mhz
Дата 8.6.2011, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 3
Всего: 14



ASMatic
задача ТС не допустить
1) внесений изменений в код процесса
2) не допустить "виртуальных нажатий" на конопочки
это мое имхо так как точное название того что он защищает мне неизвестно.

соответственно по 1 пункту необходимо запретить OpenProcess,WriteProcessMemory и так далее.
решаемо хуканьем данных вызовов.

по пункту 2 примерно тоже самое, не принимать месаги от сторонних процессов.

ничего фантастического тут  нет, любой фаер или авп имеет такую защиту.


--------------------

PM MAIL ICQ   Вверх
ASMatic
Дата 8.6.2011, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 14.3.2009

Репутация: 1
Всего: 1



Цитата(500mhz @  8.6.2011,  16:47 Найти цитируемый пост)
необходимо запретить OpenProcess,WriteProcessMemory и так далее.

это или в ядре или во всех поцессах надо делать... - с ядром туго(обычно), во всех поцессах - ток насмешить читописателей.

Цитата(500mhz @  8.6.2011,  16:47 Найти цитируемый пост)
 не принимать месаги от сторонних процессов

если бы оно все так было посто, как вы говорите - сначала бы попробовале реализовать чтонебудь подобное,а потом советовали другим что им делать smile 
PM MAIL   Вверх
500mhz
Дата 8.6.2011, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 3
Всего: 14



вы о чем? какое ядро? ставлю globalhook openprocess а еще лучше на ZwOpenProcess и проверяю не меня ли хотят открыть, все работает в user mode.

с месагами то же самое.

Это сообщение отредактировал(а) 500mhz - 8.6.2011, 20:12


--------------------

PM MAIL ICQ   Вверх
ASMatic
Дата 8.6.2011, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 14.3.2009

Репутация: 1
Всего: 1



500mhz, глобал хук на  ZwOpenProcess smile  - матчасть читайте, еще лучше не просто читайте а эксперементируйте smile 

а с мессагами - вот покажите код который проверит от какова процесса издался WM_KEYDOWN

Это сообщение отредактировал(а) ASMatic - 8.6.2011, 20:27
PM MAIL   Вверх
500mhz
Дата 8.6.2011, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 3
Всего: 14



я вас умоляю ))
вы же прекрасно поняли что я имел ввиду.


--------------------

PM MAIL ICQ   Вверх
ASMatic
Дата 9.6.2011, 02:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 14.3.2009

Репутация: 1
Всего: 1



когда вы по всем процессам проинжектитесь и поставите перехваты, получится то о чем я говорил немного выше - читеро_писатель улыбнется и снимит ваши перехваты..точнее я бы прсто их игнорил = не трож гуан, вонять не будет.)
в таких случаях нужно ядро и там обработка всего, но дабы грамотно все написать нужен моск и усилия, т.к. нюансов тыща - защищаться както но он на время будет, чо бы там не писали - неее есть один вариант - саму гаму написать нормально.

*да я вас понял, ток "глобальный хук на опен_процесс" != "глобальный захват NtOpenProcess", да и вообщем все это временно, так что изначально окно_неймы, потом хуки, потом перехваты..а там и ядро подтянулось, а толку только временного и финансового   smile 
PM MAIL   Вверх
500mhz
Дата 9.6.2011, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 3
Всего: 14



с таким же успехом читерописатель подумает и скажет, да <на...smile>  мне возиться там какие то хуки перехваты, пойду поишу игру полегче.

Это сообщение отредактировал(а) GremlinProg - 9.6.2011, 11:34


--------------------

PM MAIL ICQ   Вверх
ASMatic
Дата 9.6.2011, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 14.3.2009

Репутация: 1
Всего: 1



Цитата(500mhz @  9.6.2011,  06:46 Найти цитируемый пост)
возиться там какие то хуки перехваты, пойду поишу игру полегче.

коленки трясутся, когда видите перехваты - зря, ничо там страшного  smile 
PM MAIL   Вверх
boostcoder
Дата 9.6.2011, 13:01 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



500mhz, ASMatic, господа, не ссорьтесь.
я не силен в системном программировании под win32, посему я хуками заниматься не стану. но за идею спасибо smile 
PM WWW   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0831 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.