Страница: 1 |
У меня в ресурсах ресурсаХ есть напримет экзшник, как мне его запустить из ресрсов?!
На сколько я понимаю - никак Чтобы запустить exe-файл из ресурса, его предварительно придется сохранить на диск, например в директорию Temp. Ну, лана.. Давай хоть так... Как вообще работать в ресурсами? Как сохранять их? В С и Ассемблере всё просто и понятно..а здеь чего-то никак не пойму...Мне ввобщем кусок кода нужен... 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 ' ну разберешься... ' вот тока извиняй что поздновато, я по форумам редко шатаюсь Если не ехешник, а просто скомпилированный код, его можно запустить CallWindowProc, что ли... Просто вручную испольнить ехешник - это не так просто... Страница: 1 |
Вопрос: РесурсЫ
Добавлено: 17.10.03 22:40
Автор вопроса: MYSTERIOR | Web-сайт:
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #1
Добавлено: 18.10.03 01:45
Номер ответа: 2
Автор ответа:
MYSTERIOR
ICQ: 227369659
Вопросов: 31
Ответов: 96
Web-сайт:
Профиль | | #2
Добавлено: 18.10.03 12:31
Номер ответа: 3
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #3
Добавлено: 04.01.04 17:06
Номер ответа: 4
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #4
Добавлено: 04.01.04 22:10