Гугл сказал- в этой проблемме ты не одинок, но ответа не дал(мб непрально составил запрос на поиск) Подскажите пожалуйста как получить путь(естественно с помощью асма ) до Temp каталога в винде и еще что бы он был обязательно в "X:\Documents and Settings\User...." Использование GetTempPath - не дало положительных результатов так как нужна папка в которую б можно было 100% записать временные файлы(как Temp...InternetFiles), а GetTempPath иногда возвращает уж очень "плохие" пути к примеру "X:\Temp" или "X:\WINDOWS\Temp" а туда записывать могут не все, а только администраторы. PS:Записывать в каталог программы нельзя так как она расположенна в программфайзах и изменение файлов там запрещенно что бы ничего лишнего не сотворили пользователи PPS: ну и самое последнее хорошо что б эта функция была рабочей и на свиста/win7(но не обязательно)
Clerk Спасибо (на заметку) сейчас протестил GetTempPathW (Unicode) и GetTempPathA (ANSI) Странная вещь получается при юникодовском вызове возвращает системную переменную при анси вызове возвращает пользовательский темп
Код (Text): DWORD dwRetVal = 0; TCHAR lpTempPathBuffer[MAX_PATH]; dwRetVal = GetTempPath(MAX_PATH, lpTempPathBuffer); if ( (dwRetVal > MAX_PATH) || (dwRetVal == 0)) return FALSE; Вот код который я применял в dll работающей от имени explorer.exe. Всегда возвращал %USERPROFILE%\AppData\Local\Temp.
Тут наверно проблема в самих переменных окружения - у кого как они заданы, так GetTempPath и возвращает. Вот что г-рит вики: Т.е. выходит, чтобы получить юзерский темп, нужно вызвать GetEnvironmentVariable("TMP", ...)
Хм... вообщем в винде переменная Темп есть и пользовательская и системная.... deshiko спасибо за сырец Вопрос закрыт - спасибо всем =)