ورود

View Full Version : مشکل با فایل ها



baby_tanhaa
دوشنبه 19 آذر 1386, 20:34 عصر
سلام
من یه برنامه نوشتم توش یه فایل رو اجرایی وی بی رو باز میکنم یه چیزایی اضافه میکنم بعد بصورت exe سیو میکنم ولی فایل سیو شده یه فایل اجرایی با آیکون فایل های داس هست و وقتی اجرا میشه فقط یه لحظه صفحه کنسول باز میشه و بسته میشه
میدونم که نباید اینجوری باشه و آیکون فایل سیو شده باید آیکونش مثل آیکون فایلهای اجرایی وی بی باشه


لطفا راهنماییم کنید فوریه:افسرده:

مبین رنجبر
دوشنبه 19 آذر 1386, 20:49 عصر
شما چه چیزایی اضافه میکنید ؟ هرچی رو میخواید اضافه کنید باید به شکل باینری باشه ....

چجوری فایل EXE رو باز میکنید ؟ با روش فایل ترتیبی یا باینری ؟

baby_tanhaa
دوشنبه 19 آذر 1386, 21:16 عصر
به صورت باینری باز میکنم
و اطلاعات رو بصورت bagproperty قرار میدم

ermia2008
سه شنبه 20 آذر 1386, 08:55 صبح
سلام دوست عزیز.
کدتونو اینجا قرار بدید.

مبین رنجبر
سه شنبه 20 آذر 1386, 08:57 صبح
روش کارتون درسته ولی فکر کنم در هنگام نوشتن فایل یه سری از بایت ها رو قرار نمیده

baby_tanhaa
سه شنبه 20 آذر 1386, 10:03 صبح
سلام دوست عزیز.
کدتونو اینجا قرار بدید.


کد فایلی که میخوام ادیتش کنم :

Dim bag As New PropertyBag
Dim temp As String
Dim filesize As Long
Private Sub Command1_Click()
Open App.Path & "\t.exe" For Binary As #1
Get #1, LOF(1) - 3, filesize
Seek #1, filesize
Get #1, , temp
bag.Contents = temp
q = bag.ReadProperty("name")
MsgBox q
Close #1
End Sub


کد برنامه ادیت کننده :

Dim bag As New PropertyBag
Dim temp
Private Sub Command1_Click()
bag.WriteProperty "name", Text1.Text
temp = bag.Contents
t = LoadResData(101, "custom")
Open App.Path & "\t.exe" For Binary As #1
Put #1, , t
filesize = LOF(1)
Seek #1, filesize
Put #1, , t
Put #1, , filesize
Close #1
End Sub


حیاتیه لطفا یکی به دادم برسه:ناراحت:

baby_tanhaa
سه شنبه 20 آذر 1386, 15:25 عصر
دوباره سلام
باید بگم که مشکلو خودم حل کردم گفتم اینجا بنویسم تا اگه روزی کسی به این مشکل برخورد یه اینو دید منم دعا کنه
خیلی ساده فقط کافیه کد ادیت کننده رو بصورت زیر تغییر بدیم

Dim bag As New PropertyBag
Dim temp
Dim t As String
Private Sub Command1_Click()
MsgBox t
bag.WriteProperty "name", Text1.Text
temp = bag.Contents
t = LoadResData(101, "custom")
t = StrConv(t, vbUnicode)
Open App.Path & "\t.exe" For Binary As #1
Put #1, , t
filesize = LOF(1)
Seek #1, filesize
Put #1, , temp
Put #1, , filesize
Close #1
MsgBox t
End Sub

اگه دقت کنید میبینید که دو خط فقط اضافه شده که پررنگشون کردم
موفق باشید:چشمک: