Всунуть файл в программу - VB
Формулировка задачи:
облазил весь интернет но нигде не встретился с ответом. Возможно ли всунуть файл ini в компилированый ехе файл и читать с него данные
Решение задачи: «Всунуть файл в программу»
textual
Листинг программы
Public Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub Main() CMD$ = Command$ ' командная строка HomeDir$ = App.Path ' директория запуска Self$ = App.EXEName ' имя exe Buf$ = String$(260, Chr$(0)) ' получаем L& = GetTempPath(260, Buf$) ' временную TmpDir$ = Left$(Buf$, L&) ' директорию If InStr(CMD$, "!") <> 0 Then '::: Запуск первого экземпляра ' копируем себя во временную директорию fi% = FreeFile Open HomeDir$ + "\" + Self$ + ".exe" For Binary Access Read As #fi% fo% = FreeFile Open TmpDir$ + "\" + Self$ + ".exe" For Binary Access Write As #fo% LL& = LOF(fi%) ZZ& = 0 Do DD& = LL& - ZZ& If DD& >= 2048 Then Buf$ = Space$(2048) Else If DD& > 0 Then Buf$ = Space$(DD&) Else Exit Do End If End If Get #fi%, , Buf$ Put #fo%, , Buf$ If Len(Buf$) < 2048 Then Exit Do ZZ& = ZZ& + 2048 Loop Close #fi% '::: Допишем в хвост файла что-нибудь... Tmp$ = "Привет!!!" Put #fo%, , Tmp$ Put #fo%, , Tmp$ Put #fo%, , Tmp$ Close #fo% '::: Запускаем второй экземпляр из временной директории ' строим cmd-файл fo% = FreeFile Open TmpDir$ + "\St.cmd" For Output As #fo% Print #fo%, TmpDir$ + Self$ + ".exe " + HomeDir$ Close #fo% Shell TmpDir$ + "\St.cmd" ' запускаем cmd Else '::: Запуск второго экземпляра TargDir$ = CMD$ ' имя целевой директории c& = 0 Do fo% = FreeFile On Error Resume Next Open TargDir$ + "\" + Self$ + ".exe" For Binary Access Write As #fo% If Err.Number = 0 Then Close #fo% On Error GoTo 0 Exit Do Else On Error GoTo 0 Sleep 1000 c& = c& + 1 If c& > 10 Then MsgBox "Не дождался освобождения файла..." End End If End If Loop ' копируем FileCopy HomeDir$ + "\" + Self$ + ".exe", TargDir$ + "\" + Self$ + ".exe" MsgBox "OK!" End If End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д