при запуске создается файл в Temp и запускается чтобы узнать свое имя используется: Code (Text): push PAGE_READWRITE push MEM_RESERVE or MEM_COMMIT push 256 push NULL call [ebp+_VirtualAlloc] mov dword ptr [ebp+_OwnFileName],eax push 255 push eax push 0 call [ebp+_GetModuleFileNameA] когда файл запускается в папке Temp буфер пуст когда запускаю в других папках все нормально
пардон, господа) все работает оказывается ошибка в другом GetModuleFileNameA выдает путь в виде c:\docume~1\... и т.д. а функция GetTempPathA c:\documents and settings\... и т.д. и lstrcmpiA которая потом сравнивает пути естественно показывает неравно) Можно ли сделать так чтоб они давали одинаковый результат?
Code (Text): The GetLongPathName function converts the specified path to its long form. If no long path is found, this function simply returns the specified name. DWORD GetLongPathName( LPCTSTR lpszShortPath, LPTSTR lpszLongPath, DWORD cchBuffer );