Доброе время суток уважаемые знатоки, после долгих изысканий решил спросить у Вас, я собираю проект в exe файл и ни как не могу найти код, как узнать откуда его запустили до распаковки (с диска С D или флешки например ), т.к после он естественно находится в папке TEMP и путь отображается именно туда.
» Indigo Rose AutoPlay Media Studio
PAVELNEXT -- поиск в теме по слову _CommandLineArgs
Zloy_Gelud
Огромное спасибо, помогло
Добавлено:
Zloy_Gelud
Всё так остался вопрос, код показывает путь, а как добавить название файла, вдруг сменят и статичное уже не подойдет.
Огромное спасибо, помогло
Добавлено:
Zloy_Gelud
Всё так остался вопрос, код показывает путь, а как добавить название файла, вдруг сменят и статичное уже не подойдет.
PAVELNEXT
_SourceFilename
_SourceFilename
Zloy_Gelud
Ё-маё, как же я забыл то, выручил как всегда, огромное спасибо
Добавлено:
Zloy_Gelud
Подскажи плиз, в переменной кода приходит такое C:\Users\Desktop --- как одну слеш заменить на две ?
Ё-маё, как же я забыл то, выручил как всегда, огромное спасибо
Добавлено:
Zloy_Gelud
Подскажи плиз, в переменной кода приходит такое C:\Users\Desktop --- как одну слеш заменить на две ?
Цитата:
Необходим плагин LuaCom.
Нашел плагин, но не пойму как его подключить, помогите , пожалуйста.
PAVELNEXT
Код: result = String.Replace("012X345X678X9", "\\", "\\\\", false);
Код: result = String.Replace("012X345X678X9", "\\", "\\\\", false);
Цитата:
Project > Plugins... > LuaCom
Он там отсутствует. Закинул в папку C:\Program Files\AutoPlay Media Studio 8\Plugins\Actions. Может не правильно закинул?
Zloy_Gelud
Что то ничего не понимаю
в переменной C:\Users\Desktop\
File.Run("AutoPlay\\setup.exe", "/p="..sPathSFX, "", SW_SHOWNORMAL, true);
он пишет в командной строке C:\Windows 7 (C\Windows 7 (C\Windows 7 (C\Windows 7 (C\Windows 7 (C\Windows 7 (C\Windows 7 (C
Не знаешь в чем проблема ?
Что то ничего не понимаю
в переменной C:\Users\Desktop\
File.Run("AutoPlay\\setup.exe", "/p="..sPathSFX, "", SW_SHOWNORMAL, true);
он пишет в командной строке C:\Windows 7 (C\Windows 7 (C\Windows 7 (C\Windows 7 (C\Windows 7 (C\Windows 7 (C\Windows 7 (C
Не знаешь в чем проблема ?
dodakaedr
Цитата:
Правильно. Сабж перезапустил?
PAVELNEXT
Цитата:
Я не понял сути проблемы.
Цитата:
Может не правильно закинул?
Правильно. Сабж перезапустил?
PAVELNEXT
Цитата:
Не знаешь в чем проблема ?
Я не понял сути проблемы.
Цитата:
Я не понял сути проблемы.
в переменной C:\Users\Desktop\ получаю я её кодом
далее запускаю инсталлятор с аргументами
File.Run("AutoPlay\\setup.exe", "/p=C:\Users\Desktop\", "", SW_SHOWNORMAL, true); --- /р указывает инсталятору куда установиться
но адрес C:\Users\Desktop\ - приводит к тому что я писал выше даже с двумя слешами, создаёт не верный адрес установки если быть точным
PAVELNEXT
Цитата:
Значит слеши удваивать не надо.
Цитата:
А так?
Код: File.Run("AutoPlay\\setup.exe", '/p="'..sPath..'"', "", SW_SHOWNORMAL, true);
Цитата:
в переменной C:\Users\Desktop\ получаю я её кодом
Значит слеши удваивать не надо.
Цитата:
но адрес C:\Users\Desktop\ - приводит к тому что я писал выше даже с двумя слешами
А так?
Код: File.Run("AutoPlay\\setup.exe", '/p="'..sPath..'"', "", SW_SHOWNORMAL, true);
Zloy_Gelud
в строке инсталлятор стало с кавычками "C:\Users\Desktop\"
если убрать двойные кавычки --- File.Run("AutoPlay\\setup.exe", '/p='..sPathSFX..'', "", SW_SHOWNORMAL, true); --- получится так C:\Пользователи\Пользователи\Пользователи
в строке инсталлятор стало с кавычками "C:\Users\Desktop\"
если убрать двойные кавычки --- File.Run("AutoPlay\\setup.exe", '/p='..sPathSFX..'', "", SW_SHOWNORMAL, true); --- получится так C:\Пользователи\Пользователи\Пользователи
PAVELNEXT
Я не пойму, где ты это смотришь:
Цитата:
Цитата:
И вообще, что ты устанавливаешь?
Я не пойму, где ты это смотришь:
Цитата:
в строке инсталлятор стало с кавычками "C:\Users\Desktop\"
Цитата:
пишет в командной строке C:\Windows 7 (C\Windows 7 (C\Windows 7 (C\Windows 7 (C\Windows 7 (C\Windows 7 (C\Windows 7 (C
И вообще, что ты устанавливаешь?
Цитата:
Я не пойму, где ты это смотришь:
Инсталлятор создан на Smart Install Maker , я передаю ему аргумент куда устанавливать
PAVELNEXT -- можешь кинуть инсталлятор, посмотрю, если небольшой по размерам.
А так, не знаю, что за беда у тебя с путями. Если инсталлятор скриптовый, может код кривой...
А так, не знаю, что за беда у тебя с путями. Если инсталлятор скриптовый, может код кривой...
dodakaedr
Цитата:
Ясень пень не будет работать. 2005 года выпуска для AMS 5. Уже как никак 8-ая версия сабжа.
Вот рабочий плагин: http://rghost.net/private/58386646/9b9a9f5ad7be6023a035cf3c72a486d8
Добавлено:
PAVELNEXT -- программа для создания инсталляторов (Smart Install Maker) - шлак. Сама портит пути. AMS здесь не при чем. Пиши багрепорт в поддержку или перепаковывай в другой программе.
Цитата:
Может плагин какой-то кривой?
Ясень пень не будет работать. 2005 года выпуска для AMS 5. Уже как никак 8-ая версия сабжа.
Вот рабочий плагин: http://rghost.net/private/58386646/9b9a9f5ad7be6023a035cf3c72a486d8
Добавлено:
PAVELNEXT -- программа для создания инсталляторов (Smart Install Maker) - шлак. Сама портит пути. AMS здесь не при чем. Пиши багрепорт в поддержку или перепаковывай в другой программе.
Цитата:
Вот рабочий плагин
Спасибо! Теперь подключил плагин добавил строчку Shell.PinTo(_SystemFolder.."\\calc.exe", SHELL_STARTMENU_PIN); и не работает, ошибка "'PinTo' (a nil value)". Чего не хватает?
Добавил
Цитата:
Shell.PinTo = function (sPath, cType)в место закрепления происходит запуск программы.
if File.DoesExist(sPath) then
local tPaths = String.SplitPath(sPath);
local oShell = luacom.CreateObject("Shell.Application");
local oFolder = oShell:Namespace(tPaths.Drive..tPaths.Folder);
local oFolderItem = oFolder:ParseName(tPaths.Filename..tPaths.Extension);
oFolderItem:invokeverb(cType);
oShell = nil;
end
end
dodakaedr
Цитата:
Внимательности! Код, который я написал, нужно скопировать полностью, а не выдрать только последнюю срочку.
PS. Советую прежде вам подучиться работе с программой.
Добавлено:
Цитата:
Повторяю, если еще не поняли. Добавлять нужно все, что я написал, а не какой-то кусок!
Цитата:
Чего не хватает?
Внимательности! Код, который я написал, нужно скопировать полностью, а не выдрать только последнюю срочку.
PS. Советую прежде вам подучиться работе с программой.
Добавлено:
Цитата:
Добавил
Повторяю, если еще не поняли. Добавлять нужно все, что я написал, а не какой-то кусок!
Цитата:
Добавлять нужно все, что я написал, а не какой-то кусок!
Спасибо! Уже понял. Просто клас
Привет всем!
У меня такая проблема. Пользуюсь библиотекой bass, не могу изменить громкость. Для этого использую команду -
Код: DLL.CallFunction(cPathDLL, "BASS_SetVolume", 0.5, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
У меня такая проблема. Пользуюсь библиотекой bass, не могу изменить громкость. Для этого использую команду -
Код: DLL.CallFunction(cPathDLL, "BASS_SetVolume", 0.5, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
erickck
Цитата:
Увы, нет. Сам от этого страдаю. Можно попробовать реализовать через плагин MemoryEx, но далеко не факт, что получится.
100% можно реализовать через модуль alien, который поддерживает FLOAT-тип.
PS. Проверил с MemoryEx - не получится. Остается только alien-модуль.
Цитата:
Поддержывает ли ams тип float?
Увы, нет. Сам от этого страдаю. Можно попробовать реализовать через плагин MemoryEx, но далеко не факт, что получится.
100% можно реализовать через модуль alien, который поддерживает FLOAT-тип.
PS. Проверил с MemoryEx - не получится. Остается только alien-модуль.
Zloy_Gelud
Никогда не юзал MemoryEx..
Попробовал:
Код: float = MemoryEx.Float(0.5);
DLL.CallFunction(cPathDLL, "BASS_SetVolume", float, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
Никогда не юзал MemoryEx..
Попробовал:
Код: float = MemoryEx.Float(0.5);
DLL.CallFunction(cPathDLL, "BASS_SetVolume", float, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
erickck
Цитата:
Во-первых, ты неправильно используешь. Во-вторых, я выше ответил по поводу MemoryEx.
UPD. Написал небольшой рабочий пример с использованием модуля alien:
Код: -- Подключаем модуль alien
require 'alien';
-- Загружаем библиотеку bass.dll
local bass = alien.load 'bass.dll';
-- Объявляем типы аргументов некоторых функций
bass.BASS_ErrorGetCode:types{abi="stdcall"};
bass.BASS_Init:types{"int", "uint", "uint", "int", "int", abi="stdcall"};
bass.BASS_Free:types{abi="stdcall"};
bass.BASS_StreamCreateFile:types{"int", "string", "uint", "uint", "uint", abi="stdcall"};
bass.BASS_ChannelPlay:types{"uint", "int", abi="stdcall"};
bass.BASS_SetVolume:types{"float", abi="stdcall"};
-- Некоторые используемые функции
BASS = {
Init = function (nFlags, nDevice, nFreq, hWnd, hCLSID)
local nRet = bass.BASS_Init(nDevice, nFreq, nFlags, hWnd, hCLSID);
if (nRet == 0) then return false, BASS.ErrorGetCode(); end
return true, nRet;
end,
ErrorGetCode = function ()
return bass.BASS_ErrorGetCode();
end,
Free = function ()
local nRet = bass.BASS_Free();
if (nRet == 0) then return false, BASS.ErrorGetCode(); end
return true, nRet;
end,
StreamCreateFile = function (nMem, sFilePath, nOffset, nLength, nFlags)
local nRet = bass.BASS_StreamCreateFile(nMem, sFilePath, nOffset, nLength, nFlags);
if (nRet == 0) then return false, BASS.ErrorGetCode(); end
return true, nRet;
end,
ChannelPlay = function (hChannel, nRestart)
local nRet = bass.BASS_ChannelPlay(hChannel, nRestart);
if (nRet == 0) then return false, BASS.ErrorGetCode(); end
return true, nRet;
end,
SetVolume = function (nVolume)
local nRet = bass.BASS_SetVolume(nVolume);
if (nRet == 0) then return false, BASS.ErrorGetCode(); end
return true;
end
};
-- Пример
if BASS.Init(0, -1, 44100, Application.GetWndHandle(), 0) then
local bOk, hStream = BASS.StreamCreateFile(0, "C:\\Users\\Slota\\Desktop\\TESTING_FILES\\6chan.wma", 0, 0, 0);
if bOk then
if BASS.ChannelPlay(hStream, 1) then
BASS.SetVolume(0.2)
Application.Sleep(5000);
BASS.SetVolume(1)
Application.Sleep(5000);
end
end
BASS.Free();
end
Цитата:
Попробовал:
Во-первых, ты неправильно используешь. Во-вторых, я выше ответил по поводу MemoryEx.
UPD. Написал небольшой рабочий пример с использованием модуля alien:
Код: -- Подключаем модуль alien
require 'alien';
-- Загружаем библиотеку bass.dll
local bass = alien.load 'bass.dll';
-- Объявляем типы аргументов некоторых функций
bass.BASS_ErrorGetCode:types{abi="stdcall"};
bass.BASS_Init:types{"int", "uint", "uint", "int", "int", abi="stdcall"};
bass.BASS_Free:types{abi="stdcall"};
bass.BASS_StreamCreateFile:types{"int", "string", "uint", "uint", "uint", abi="stdcall"};
bass.BASS_ChannelPlay:types{"uint", "int", abi="stdcall"};
bass.BASS_SetVolume:types{"float", abi="stdcall"};
-- Некоторые используемые функции
BASS = {
Init = function (nFlags, nDevice, nFreq, hWnd, hCLSID)
local nRet = bass.BASS_Init(nDevice, nFreq, nFlags, hWnd, hCLSID);
if (nRet == 0) then return false, BASS.ErrorGetCode(); end
return true, nRet;
end,
ErrorGetCode = function ()
return bass.BASS_ErrorGetCode();
end,
Free = function ()
local nRet = bass.BASS_Free();
if (nRet == 0) then return false, BASS.ErrorGetCode(); end
return true, nRet;
end,
StreamCreateFile = function (nMem, sFilePath, nOffset, nLength, nFlags)
local nRet = bass.BASS_StreamCreateFile(nMem, sFilePath, nOffset, nLength, nFlags);
if (nRet == 0) then return false, BASS.ErrorGetCode(); end
return true, nRet;
end,
ChannelPlay = function (hChannel, nRestart)
local nRet = bass.BASS_ChannelPlay(hChannel, nRestart);
if (nRet == 0) then return false, BASS.ErrorGetCode(); end
return true, nRet;
end,
SetVolume = function (nVolume)
local nRet = bass.BASS_SetVolume(nVolume);
if (nRet == 0) then return false, BASS.ErrorGetCode(); end
return true;
end
};
-- Пример
if BASS.Init(0, -1, 44100, Application.GetWndHandle(), 0) then
local bOk, hStream = BASS.StreamCreateFile(0, "C:\\Users\\Slota\\Desktop\\TESTING_FILES\\6chan.wma", 0, 0, 0);
if bOk then
if BASS.ChannelPlay(hStream, 1) then
BASS.SetVolume(0.2)
Application.Sleep(5000);
BASS.SetVolume(1)
Application.Sleep(5000);
end
end
BASS.Free();
end
Zloy_Gelud
Все работает Большое СПАСИБО!
Все работает Большое СПАСИБО!
Доброго времени суток , Уважаемые Гуру!
Подскажите пожалуйста , как правильно написать в скрипте для инсталлятора системные переменные для следующих путей:
C:\Documents and Settings\Admin\Local Settings\Application Data
C:\Program Files\Common Files
ps: весь букварь перечитал - нифига непонял. Заранее благодарю!
Подскажите пожалуйста , как правильно написать в скрипте для инсталлятора системные переменные для следующих путей:
C:\Documents and Settings\Admin\Local Settings\Application Data
C:\Program Files\Common Files
ps: весь букварь перечитал - нифига непонял. Заранее благодарю!
Ashap_1974
Код: -- C:\Documents and Settings\Admin\Local Settings\Application Data
result = Shell.GetFolder(SHF_APPLICATIONDATA_LOCAL);
-- C:\Program Files\Common Files
result = Shell.GetFolder(SHF_COMMONFILES);
Код: -- C:\Documents and Settings\Admin\Local Settings\Application Data
result = Shell.GetFolder(SHF_APPLICATIONDATA_LOCAL);
-- C:\Program Files\Common Files
result = Shell.GetFolder(SHF_COMMONFILES);
Zloy_Gelud , Огромное Спасибо! Как всегда выручили!
как провести установку в выбранную папку через input?
Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
Предыдущая тема: память не может быть written
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.