Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: РесурсЫ Добавлено: 17.10.03 22:40  

Автор вопроса:  MYSTERIOR | Web-сайт: XXX | ICQ: 227369659 

У меня в ресурсах  ресурсаХ есть напримет экзшник, как мне его запустить из ресрсов?!

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 18.10.03 01:45

На сколько я понимаю - никак :(

Чтобы запустить exe-файл из ресурса, его предварительно придется сохранить на диск, например в директорию Temp.

Ответить

Номер ответа: 2
Автор ответа:
 MYSTERIOR



ICQ: 227369659 

Вопросов: 31
Ответов: 96
 Web-сайт: XXX
 Профиль | | #2
Добавлено: 18.10.03 12:31

Ну, лана.. Давай хоть так... Как вообще работать в ресурсами? Как сохранять их? В С и Ассемблере всё просто и понятно..а здеь чего-то никак не пойму...Мне ввобщем кусок кода нужен... 

Ответить

Номер ответа: 3
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #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
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #4
Добавлено: 04.01.04 22:10

Если не ехешник, а просто скомпилированный код, его можно запустить CallWindowProc, что ли... Просто вручную испольнить ехешник - это не так просто...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам