Перейти к содержанию

Путь в Мои документы LUA


Vlad2

Рекомендуемые сообщения

Всем доброго времени! :)

Подскажите пожалуйста,как с помощью LUA получить путь к папке "Мои документы" текущего пользователя?

Желательно чтоб работало на Win XP, 7, 8.

Спасибо))

Ссылка на комментарий
Поделиться на другие сайты

Coder, просто так не получается это сделать!

Я нашел схожий пример:


Простейшие примеры работы с Win32 API:
require "alien"
f = alien.Kernel32.Beep
f:types{ret = 'long', abi = 'stdcall', 'long', 'long' }
print(f(500, 100))
print(f(550, 100))
print(f(600, 300))
f = alien.Kernel32.ExpandEnvironmentStringsA
f:types{ret = "long", abi = 'stdcall', "string", "pointer", "long" }
local buffer = alien.buffer(512)
f("%USERPROFILE%", buffer, 512)
print("%USERPROFILE% - " .. tostring(buffer))
f = alien.User32.MessageBoxA
f:types{ret = 'long', abi = 'stdcall', 'long', 'string', 'string', 'long' }
print(f(0, "Привет, MessageBoxA (stdcall)!", "Заголовок", 64))
Скрипт выше подаст несколько звуковых сигналов системным динамиком, выведет на консоль значение переменной среды %USERPROFILE%, а затем отобразит окно с приветствием.
Простейшие способы использования классов .NET:

Осталось найти только модуль alien.

Ссылка на комментарий
Поделиться на другие сайты

Нашел alien,но загрузить в СЕ,чтоб воспользоваться кодом выше,не могу.

Помогите!

Хоть я LUA никогда не изучал, но тебе нужно только это:


local buffer = alien.buffer(512)
f("%USERPROFILE%", buffer, 512)
print("%USERPROFILE% - " .. tostring(buffer))

p.s. alien я полагаю это имя проекта или что-то типо этого.

Также можешь заюзать эту функцию - http://msdn.microsof...p/bb762181.aspx (с флагом - CSIDL_MYDOCUMENTS).

Различные вариации флагов - http://msdn.microsoft.com/en-us/library/windows/desktop/bb762494.aspx

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.