Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: SaveSetting... а почему он не... Добавлено: 10.03.06 19:39  

Автор вопроса:  psinetron | ICQ: 218945948 
Написал такую прогу, и неожиданно для себя нашел такой косяк... :( Оказывается SaveSetting теряет свои свойства даже если программа переименованна, не говоря уже о копировании. А есть ли в VB возможность записывать параметры в сам экзешник? Чтобы сам из себя данные читал. У меня такая вещь -
я написал что-то вроде редактора программы - т.е. одна программа редактирует другую через Savesetting, но если эту другую прогу переименовать или скопировать, то все сбрасывается на нули :( Помогите плиз. Мне нужно обойтись одним exe файлом, никаких других дополнительных файлов использовать нельзя. Помогите....

Ответить

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

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



ICQ: 218945948 

Вопросов: 34
Ответов: 28
 Профиль | | #1 Добавлено: 10.03.06 19:46
Ёлки, оказывается Savesetting это вообще запись в реестр! Вот я обложался. А можно в сам экзешник что-нибудь записать? Хотябы в неработающий...

Ответить

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



Вопросов: 215
Ответов: 1596
 Web-сайт: 123
 Профиль | | #2
Добавлено: 10.03.06 19:55
да, можно. скачай мою прогу Autorun Creator с www.vbkoders.info
там как-раз практикуется запись в екзешник.

Ответить

Номер ответа: 3
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #3 Добавлено: 10.03.06 20:18
2 psinetron: а можешь не лезть на vbkoders.info (кстати, в домене ошибка :) ), можешь скачать аналогичный пример записи данных в exe'шник с сайта vbnet.ru. В примерах поищи, есть точно.

Ответить

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



Вопросов: 215
Ответов: 1596
 Web-сайт: 123
 Профиль | | #4
Добавлено: 10.03.06 20:43
psinetron,
не слушай этого провокатора, качай отсюдова:
http://vbkoders.info/downfile281.html
это прямая ссылка, никаких левых страниц
это во-первых.
во-вторых обращаюсь к особо одаренным: ОШИБКИ В ДОМЕНЕ НЕТУ!!!

Ответить

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



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

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #5
Добавлено: 10.03.06 22:55
Мое все равно лучше :) для меня, и понятней :) HappyBirthDay тут рулит :)

Ответить

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



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

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #6
Добавлено: 10.03.06 22:55
ЗЫ
Зачем делать рекламу конкурентам, если все есть здесь :) ?

Ответить

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


 

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

Вопросов: 236
Ответов: 8362
 Профиль | | #7 Добавлено: 10.03.06 23:44
эх... да не всё здесь есть, у меня всё есть :)
Attribute VB_Name = ";DinamicRES"
' <МОДУЛЬ ДЛЯ ПРОГРАММНОГО ЧТЕНИЯ/ЗАПИСИ РЕСУРСОВ         >|
'                                                          |
' = = = = = = = M A D E   B Y   H A C K E R = = = = = =    |
'         icq: 334479038, mail: no_detect@mail.ru          |
'==========================================================|
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
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)

Public Sub WriteRES(sFile As String, sData As String, sType As String, sName As String)
    Dim h As Long
    h = BeginUpdateResource(sFile, 0)
    Call UpdateResource(h, sType, sName, 1049, ByVal sData, Len(sData)) '1049 - язык
    Call EndUpdateResource(h, 0)
End Sub

Public Function ReadRES(sFile As String, sType As String, sName As String) As String
    Dim txt As String
    Dim hgRes As Long
    hLib = LoadLibrary(sFile)
    hRes = FindResourceEx(hLib, ByVal sType, ByVal sName, 1049)
    hLRes = LoadResource(hLib, hRes)
    hgRes = LockResource(hLRes)
    lenRes = SizeofResource(hLib, hRes)
    txt = Space(lenRes)
    CopyMemory ByVal txt, ByVal hgRes, lenRes
    FreeLibrary hLib
    ReadRES = txt
End Function

при записи канэшна экзешник не должен быть запущен :)

Ответить

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



Вопросов: 215
Ответов: 1596
 Web-сайт: 123
 Профиль | | #8
Добавлено: 11.03.06 09:42
хм, а я вот проперти баг пользовал..
имхо, Property Bag лучше и надежнее

Ответить

Страница: 1 |

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



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