PDA

View Full Version : نحوه نوشتن exe میکر



movaffag
سه شنبه 18 بهمن 1390, 23:37 عصر
سلام دوستان من خیلی سرچ کردم و بعضی از پست ها رو خوندم ولی متاسفانه نتونستم پست مفید اموزشی پیدا کنم ممنون میشم من رو با یک مثال راهنمایی کنید مثلا یک برنامه ای که یک تکست بگیره و تو exe اون متن به ضورت msg نشون بده
ممنون از لطفتون

سید حمید حق پرست
چهارشنبه 19 بهمن 1390, 01:00 صبح
دوست عزیز درست متوجه نشدم
یه تکست داخل خود برنامه؟
یا از داخل سیستم؟

سید حمید حق پرست
چهارشنبه 19 بهمن 1390, 01:10 صبح
بیا دوست عزیز ببین اینه
یک تکست باکس و یک کامند داخل فرم هست و با زدن کامند هرچی تو تکست باکس نوشته بشه توسط مسج باکس نشون میده

اگه هم میخوای تکست داخل سیستم رو نشون بدی بگو تا بزارم

movaffag
چهارشنبه 19 بهمن 1390, 01:19 صبح
برادر من انگار منظور منو متوجه نشدین !!
من یک برنامه ای می خوام که توی یک فرم از من فایل تکست و یا متنو بگیره و یک فایل exe به من بده که وقتی exe رو اجرا می کنی متن رو به صورت msg نشون بده

vbhamed
چهارشنبه 19 بهمن 1390, 08:21 صبح
سلام

شما هدف اصليتون واقعا خود Exe Maker هست يا نمايش MessageBox ؟

movaffag
چهارشنبه 19 بهمن 1390, 10:06 صبح
exe میکر
داداش اگه ببینین من توضیح دادم تو پست قبلیم که می خوام چی کار کنه

سید حمید حق پرست
چهارشنبه 19 بهمن 1390, 16:45 عصر
من یه سورس تقریبا شبیه این داشتم . اگه پیداش کردم ویرایشش میکنم و اینی که خواستید مینویسم واست و میزارم اینجا


موفق باشی
یا علی(ع)

Mr'Jamshidy
چهارشنبه 19 بهمن 1390, 17:12 عصر
شما هدفت رو کامل مشخص کن تا جواب مشخص بگیری!

این Exe Maker شما چه قابلیت هایی باید داشته باشه؟
آیا فایل خروجی امکانات محدودی داره؟

و ... .

این چیزی که شما میخوای با یک PropBag به سادگی قابل انجام هست

محسن واژدی
چهارشنبه 19 بهمن 1390, 20:03 عصر
سلام علیکم
همانطور که آقای جمشیدی هم گفتند با PropBag هم میتوانیم این کار را انجام دهیم، در ضمیمه پست زیرهم از این روش برای ذخیره اطلاعات در exe تولید شده استفاده میشود:
http://barnamenevis.org/showthread.php?279956-%D8%B3%D8%A7%D8%AE%D8%AA-exe-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87&p=1236065&viewfull=1#post1236065

موفق باشید

سید حمید حق پرست
چهارشنبه 19 بهمن 1390, 23:11 عصر
اینم سورس اونی که میخواستی . دقیقا خودشه

movaffag
پنج شنبه 20 بهمن 1390, 00:56 صبح
اره خودشه برنامه و کد هاشم می تونی یکم توضیح بدی ممنونت میشم

سید حمید حق پرست
پنج شنبه 20 بهمن 1390, 01:16 صبح
1- پروژه جدید باز کن
2- داخل پروژه یه تکست باکس قرار بده و خاصیت Visible تکست باکس رو false کن
3- حالا کد زیر رو کپی کن داخل پروژت :


Option Base 1
Dim svr_data As PropertyBag

Private Sub Form_Load()
On Error Resume Next
Set svr_data = New PropertyBag
Dim msg As String * 255
Dim src As Variant
appt = App.Path & "\" & App.EXEName & ".exe"
Open appt For Binary As #100
Seek #100, 24576
Get #100, , src
Close #100
svr_data.Contents = src
Text1.Text = svr_data.ReadProperty("Text1")
Set svr_data = Nothing
MsgBox Text1.Text
End Sub

4- پروژتو کمپایل کن
5- پروژه کمپایل شده رو جایگزین فایل دخل ریسورس سورسی که بهت دادم بکن
6- تمام شد
7- موفق باشی
8- یا علی(ع)

سید حمید حق پرست
پنج شنبه 20 بهمن 1390, 01:19 صبح
اگه خواستی چیز دیگه ای بهش اضافه کنی بگو تا راهنماییت کنم

sr2m72
پنج شنبه 20 بهمن 1390, 11:21 صبح
سلام دوستان.
یه سوال داشتم، میخواستم بدونم در این کد:
Seek #1, 24576
عدد 24576 ثابت هست؟

محسن واژدی
پنج شنبه 20 بهمن 1390, 11:50 صبح
سلام دوستان.
یه سوال داشتم، میخواستم بدونم در این کد:
Seek #1, 24576
عدد 24576 ثابت هست؟
سلام
عدد 24576 مقدار بایتی است که میخواهیم اشاره گر به آنجا مراجعه کند و ثابت نیست، به عنوان مثال برای حرکت دادن اشاره گر به بایت دوم میشود: Seek #1, 2

موفق باشید

sr2m72
پنج شنبه 20 بهمن 1390, 12:16 عصر
سلام
عدد 24576 مقدار بایتی است که میخواهیم اشاره گر به آنجا مراجعه کند و ثابت نیست، به عنوان مثال برای حرکت دادن اشاره گر به بایت دوم میشود: Seek #1, 2

موفق باشید

ممنون از پاسختون.
حالا در این برنامه چرا از این عدد استفاده کردین؟ برای بدست آوردن این عدد باید چکار کنیم؟

محسن واژدی
پنج شنبه 20 بهمن 1390, 12:38 عصر
حالا در این برنامه چرا از این عدد استفاده کردین؟ برای بدست آوردن این عدد باید چکار کنیم؟
چون در هنگام باز کردن فایل، اشاره گر در بایت اول قرار دارد، پس زمانی که ما داده ای را در فایل بنویسیم عملا بایتهای ابتدایی رونویسی میشوند که در اینصورت exe خروجی خراب شده و اجرا نمیشود، برای همین اطلاعات را در انتهای فایل مینویسیم که برای اینکار توسط Seek اشاره گر را به انتهای فایل میفرستیم، برای بدست آوردن انتهای فایل هم میتوانیم توسط تابع FileLen طول فایل را بدست آورده و در دستور Seek قرا دهیم، همانند نمونه کد زیر:
Private Sub Command1_Click()
Dim sPth$
sPth$ = "D:\1.jpg"
Open sPth$ For Binary As #1
MsgBox "Current pointer position: " & Loc(1), vbInformation
Seek #1, FileLen(sPth$)
MsgBox "Pointer position after seek: " & Loc(1), vbInformation
End Sub

برای بدست آوردن مکان فعلی اشاره گر از تابع Loc استفاده میکنیم همانطور که در نمونه بالا هم مشاهده میکنید

موفق باشید