Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Как в *.wcx узнать путь к Wincmd.ini? 
Author Message
CaptainFlint



PostPosted: Fri May 13, 2005 02:34    Post subject: Reply with quote

Maximus
Quote:
А вот кто бы мне сказал как без лишних извратов узнать где валяется моя ДЛЛ

Есть один довольно извращённый способ... Уже не помню, где нашёл, не до конца понимаю, как и почему это работает, но работает.

Итак, заводишь следующую функцию (весь код проверен на VC++ 6):
Code:
extern "C" void * _ReturnAddress();
#pragma intrinsic(_ReturnAddress)

HINSTANCE GetCurrentInstance()
{
    MEMORY_BASIC_INFORMATION mem;
    if (VirtualQuery(_ReturnAddress(), &mem, sizeof(mem)))
    {
        _ASSERTE(mem.Type == MEM_IMAGE);
        _ASSERTE(mem.AllocationBase != NULL);
        return (HINSTANCE)mem.AllocationBase;
    }
    return NULL;
}

Она возвращает текущий HINSTANCE. А потом пихаешь возвращаемый результат в качестве первого параметра в вызов GetModuleFileName(...).
View user's profile Send private message Visit poster's website


Powered by phpBB © 2001, 2005 phpBB Group