Другое С/С++ Вопрос - Ответ

AWRage

Активный
642
141
Как я понял, вместо _beginthreadex можно засунуть вызов своей функции в case: DLL_THREAD_ATTACH? На сколько это будет правильно и когда вообще вызывается функция DllMain и параметром DLL_THREAD_ATTACH?
 

SR_team

like pancake
BH Team
4,798
6,469
Как я понял, вместо _beginthreadex можно засунуть вызов своей функции в case: DLL_THREAD_ATTACH? На сколько это будет правильно и когда вообще вызывается функция DllMain и параметром DLL_THREAD_ATTACH?
DLL_PROCESS_ATTACH вызывается при подключение библиотеки к процессу
DLL_THREAD_ATTACH вызывается когда программа опрашивает подключенные библиотеки. Опрашивает не сама, а система, по этому вызываются даже приинжекченые библиотеки
DLL_THREAD_DETACH аналогично предыдущему, только вызывается позже. Может быть полезно для каких-либо специфичных задач, в которых надо что-то изменить на выходе из библиотеки
DLL_PROCESS_DETACH вызывается при выгрузке библиотеки из памяти процесса

Есть еще WinAPI функция, которая отключает опрос библиотеки, я ее не помню, но можно найти в говно-примерах читов, где сам чит работает в отдельном потоке
 
  • Нравится
Реакции: AWRage

AWRage

Активный
642
141
Как на счет delete this? Это плохой тон? Одни пишут что это плохо, другие что это вполне нормально.
C++:
class myclass
{
public:
    void Initialize();
    void Release()
    {
        delete this;
    }
}

// ...

myclass *class = new myclass();

// ...

class->Initialize();
// ...
class->Release();
 

SR_team

like pancake
BH Team
4,798
6,469
Как на счет delete this? Это плохой тон? Одни пишут что это плохо, другие что это вполне нормально.
C++:
class myclass
{
public:
    void Initialize();
    void Release()
    {
        delete this;
    }
}

// ...

myclass *class = new myclass();

// ...

class->Initialize();
// ...
class->Release();
а нахуя? Есть же деструктор class->~myclass()
 
  • Нравится
Реакции: AWRage

Gabriel__

Известный
Проверенный
411
183
Не получается получить адрес функции. Вместо неё получается адрес call'a который её вызывает.
C++:
std::cout << MyFunc;
// или так
std::cout << &MyFunc;
 

Gabriel__

Известный
Проверенный
411
183
Ты наверно не меня понял. Я перехожу в отладчике по адресу который мне высветила консоль и вижу там call и адрес моей функции. А я хотел сразу получить её адрес.
 

Dimoz

Новичок
98
16
Помогите, пытаюсь переименовать окно гташки, но ничего не получается.
Код:
SendMessage(*(HWND*)0xC17054, WM_SETTEXT, 0, (LPARAM)SF->getSAMP()->getInfo()->szHostname);

Решил. Не тот адрес.
 
Последнее редактирование:

Vasiliy77

Известный
22
1
Как редактировать список пунктов в главном меню на Esc? Убрать несколько например