Страница: 1 |
Вопрос: РесурсЫ | Добавлено: 17.10.03 22:40 |
Автор вопроса: ![]() |
У меня в ресурсах ресурсаХ есть напримет экзшник, как мне его запустить из ресрсов?! |
Ответы | Всего ответов: 4 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 18.10.03 01:45 |
На сколько я понимаю - никак Чтобы запустить exe-файл из ресурса, его предварительно придется сохранить на диск, например в директорию Temp. |
Номер ответа: 2 Автор ответа: ![]() ![]() ICQ: 227369659 Вопросов: 31 Ответов: 96 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 18.10.03 12:31 |
Ну, лана.. Давай хоть так... Как вообще работать в ресурсами? Как сохранять их? В С и Ассемблере всё просто и понятно..а здеь чего-то никак не пойму...Мне ввобщем кусок кода нужен... |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 04.01.04 17:06 |
Option Explicit Private Declare Function GetTempPathA Lib "kernel32" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long Private Sub Form_Load() Dim sPath As String sPath = GetTempPath & "tmpFile.exe" ' Путь (Temp директория) к файлу и его имя Call SaveFileFromRes(sPath) ' Вызываем функцию сохранения данных из ресурса Call Shell(sPath, vbNormalFocus) ' Запуск сохраненного файла ' Ну а далее используешь запуск программы с ожиданием ее завершения, для того чтоб дождаться ' конца выполнения программы, чтобы ее удалить ... End Sub Private Function GetTempPath() As String ' Получение пути к каталогу Temp Dim sTmpPath As String * &H100, Tmp As Long Call GetTempPathA(&H100, sTmpPath) ' API функция Tmp = InStr(1, sTmpPath, vbNullChar, vbTextCompare) ' Ищем нулевой символ GetTempPath = Left$(sTmpPath, Tmp - 1) ' Отделяем ненужный нулевые символы... End Function ' Сохранение файла из ресурсов Private Sub SaveFileFromRes(sFileName As String, id As String, rType As String) Dim sData() As Byte, nf As Integer sData = LoadResData(id, rType) ' Загрузка ресурса в байтовый массив nf = FreeFile ' Получение свободного идентификатора файла Open sPath For Binary Access Write As nf ' Открытие файла для двоичного доступа записи Put nf, 1, sData ' Все данные из ресурса - в файл! Close nf ' Закрываем файл End Sub ' rType по умолчанию, это CUSTOM ' id - 101 ' ну разберешься... ' вот тока извиняй что поздновато, я по форумам редко шатаюсь |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 04.01.04 22:10 |
Если не ехешник, а просто скомпилированный код, его можно запустить CallWindowProc, что ли... Просто вручную испольнить ехешник - это не так просто... |
Страница: 1 |
|