Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: как чтобы программа сохранила сама себя в exe файл Добавлено: 26.03.07 10:33  

Автор вопроса:  Lenon
при запуске программы пользователь должен ввести какие- то начальные параметры,что-то должно произойти.


При нажатии на кнопку сохранить должно появится диологовое окно,пользователь вводит имя файла,в тот файл программа сохраняет сама себя.
А при нажатии на кнопку открыть,открывает этот сохраненный файл. Все это на vb.как это сделать? помогите пожалуйста.

Ответить

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

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



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #1 Добавлено: 26.03.07 13:29
А при чем здесь exe?

Ответить

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


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #2
Добавлено: 26.03.07 15:12
пользователь вводит имя файла,в тот файл программа сохраняет сама себя.

Ну скопируй свой файл.

Ответить

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



Вопросов: 41
Ответов: 239
 Профиль | | #3 Добавлено: 26.03.07 17:33
Я правильно понял Lenon тебе нужно чтоли типа сахранить данные в файл а потом прочитать? Что то я тоже не понял а EXE тут причём?

Ответить

Номер ответа: 4
Автор ответа:
 HACKER


 

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

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 26.03.07 18:11
в тот файл программа сохраняет сама себя
:)))

так в тот файл или сама в себя?

Ну думаю если бы в тот файл, то проблем бы небыло, очевидно вопрос о сохранении в самого себя. Тема эта не новая, много раз обсуждалась на форуме. Мы как обычно с Sharp'ом тягались чья идея лучше, сохранять в ресурсы или находить куда писать в сам exe :) Щас можно повторить подвиг, нафлудить ещё на страницы на 2-3 :) но небудем, правда ж? :))

Вообщем в целом 2 пути решения: Программно редактировать ресурсы exe файла, или искать в exe нужную подстроку, и перезаписывать её...

При первом пути, тебе пригодится API для работы с ресурсами:
Private Declare Function BeginUpdateResource Lib "kernel32" Alias "BeginUpdateResourceA" (ByVal pFileName As String, ByVal bDeleteExistingResources As Long) As Long
Private Declare Function UpdateResource Lib "kernel32" Alias "UpdateResourceA" (ByVal hUpdate As Long, ByVal lpType As String, ByVal lpName As String, ByVal wLanguage As Long, lpData As Any, ByVal cbData As Long) As Long
Private Declare Function EndUpdateResource Lib "kernel32" Alias "EndUpdateResourceA" (ByVal hUpdate As Long, ByVal fDiscard As Long) As Long
Private Declare Function FindResourceEx Lib "kernel32" Alias "FindResourceExA" (ByVal hModule As Long, ByVal lpType As String, ByVal lpName As String, ByVal wLanguage As Long) As Long
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Private Declare Function LockResource Lib "kernel32" (ByVal hResData As Long) As Long
Private Declare Function SizeofResource Lib "kernel32" (ByVal hInstance As Long, ByVal hResInfo As Long) As Long
Private Declare Function LoadResource Lib "kernel32" (ByVal hInstance As Long, ByVal hResInfo As Long) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
и наверное ещё CopyMemory...
B второй путь:
Объявить в exe достаточно большую строковую константу, потом искать её через InStr, и редактировать...

Ответить

Номер ответа: 5
Автор ответа:
 Lenon



Вопросов: 14
Ответов: 8
 Профиль | | #5 Добавлено: 28.03.07 05:20
Да,именно так. Подскажи пожалуйста

Ответить

Номер ответа: 6
Автор ответа:
 HACKER


 

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

Вопросов: 236
Ответов: 8362
 Профиль | | #6 Добавлено: 28.03.07 15:06
ааамм o_O собственно подсказака выше... давай тогда конкретные вопросы что-ли...

Ответить

Номер ответа: 7
Автор ответа:
 gvozd



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

Вопросов: 164
Ответов: 1317


 Web-сайт: www.gvozdsoft.com
 Профиль | | #7
Добавлено: 28.03.07 20:34
Борзеет молодежь... :)

Ответить

Номер ответа: 8
Автор ответа:
 Stars



Вопросов: 41
Ответов: 239
 Профиль | | #8 Добавлено: 29.03.07 21:55
[QUOTE]Хы.Ха ХА :) [/QUOTE]

[QUOTE][CODE][QUOTE][CODE]Lenon
[/CODE]
[/CODE]Скочай справочник по Api (Так меня на форуме научили(Справедливо сделали)) И потом по апи используч примеры и разное другое разобраться можно!!

Ответить

Страница: 1 |

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



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