Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Очередной раз спрашываю ( static BOOL bDHook = TRUE; )

Пользователь удален Гуру (4827), закрыт 17 лет назад
Дополнен 17 лет назад
....
staticBOOLbDHook = TRUE;
....
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
hInst = hModule;

Initcondition();

if (bDHook == TRUE)
{
bDHook = FALSE;
DataHook();
}
....
void DataHook(void)
{
static char lpDLLName[MAX_PATH], lpTEMName[MAX_PATH];

/* получаем полный адрес к нашему модулю */
GetModuleFileName((HMODULE)hInst, lpDLLName, MAX_PATH);

/* а етой манипуляцыей получаем папку в котором наш модуль */
strncat(lpDATName, lpDLLName, strlen(lpDLLName) - strlen("Hook.dll"));

/* дополняем папку Data */
strcat(lpDATName, "Data\\");

/* ну а здесь создаём имя временого файда */
GetTempFileName(lpDATName, "_", 0, lpTEMName);

/* соединяем ето всё */
strcat(lpDATName, lpTEMName);

MessageBox(NULL, lpDATName,"MessageBox",MB_OK);
}

Не работает етот кусок:

if (bDHook == TRUE)
{
bDHook = FALSE;
DataHook();
}

Переменая bDHook получила значение FALSE почему у миня
DataHook(); продолжатет вызыватса.. Ет што получаетса
библиотека выгружаетса све переменые пропадаю, потом
загружаетса и bDHook опять TRUE
(та вродибы не должно быть так яже постояно
отслежываю нажатия кнопок для Internet Explorer)

Ещё маленький вопрос какая "API" создаёт папку..
(в Visual Basic пользовалса встроеной MkDir(путь))
Дополнен 17 лет назад
Ну чё за фигня опять небыло видно только аж теперь когда дополнил...
Лучший ответ
Денис Мастер (1659) 17 лет назад
Ты ж в Visual Studio пишешь? Пошли мне на мыло весь проект (если он не очень большой) , и опиши цели/задачи
Остальные ответы
Kill_Bill(Gates) Гуру (2871) 17 лет назад
Не думаю что тут тусуются C++ кодеры.
Похожие вопросы