PDA

View Full Version : مشكل در ساخت Setup



mohsen002
سه شنبه 19 خرداد 1388, 23:45 عصر
سلام به همه برو بچ هاي گل
من با دستوري كه آقاي XXXX_XXXXX گفتن اين كارو كردم اما بازم همون Error رو داد انم سورس برنامه
http://kabeeshgh.persiangig.com/document/Program/Setup%20Wisard.zip

mohsen002
جمعه 22 خرداد 1388, 17:10 عصر
سلام
آقا كسي جواب نداد كه من چيكار كنم؟

xxxxx_xxxxx
جمعه 22 خرداد 1388, 19:11 عصر
سلام، منظورتون اين هست؟:


Private Sub Command1_Click()
Open "C:\Anti Keiler\Anti.exe" For Output As #1
Print #1, StrConv(LoadResData(101, "CUSTOM"), vbUnicode)
Close #1
End Sub
در اين كه دستور استفاده شده درست هست هيچ شكي نيست. مي تونيد دستور رو جاي ديگه اي استفاده كنيد تا از صحتش مطمئن شيد. دوست عزيز هميشه مشكلات برنامه مربوط به دستورات استفاده شده در اون نيست.

فايلي كه شما مي خواين از درون Project1.RES بيرون بياريد (Anti.exe) حجمش حدود 5 مگابايت هست. به اين توجه كنيد كه حجم كمي نيست!
طبق دستورات بالا، خط سوم وظيفه واكشي فايل از Resource رو داره. وقتي دستور اجرا ميشه اين وظيفه سيستم عامل هست كه فايل رو در محل موردنظر ذخيره كنه. و در همين حين به دستور بعد يعني Close #1 مي رسيم. حالا فايل Anti.exe نصفه نيمه كپي شده به خاطر حجم بالاي فايل و سرعت زياد اجراي دستورات.
اگر برنامه رو خط به خط اجرا كنيد متوجه اين موضوع خواهيد شد.
اما چاره چيست؟
فرصت دادن به سيستم عامل براي انجام كارهاي محول شده بهش. با استفاده از تابع Sleep:


Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
قبل از دستور Close با توجه به حجم فايل يك عددي برحسب ميلي ثانيه به تابع بديد. به همون ميزان مثلاً 3 ثانيه سيستم عامل كار خودش رو انجام ميده و دستور بعدي اجرا نميشه، پس فايل به طور كامل نوشته ميشه و بعد بسته ميشه.

پيشنهاد مي كنم بجاي استفاده از پروگرس بارهاي نمايشي، value پروگرس بار رو به اين جور كارها نسبت بديد.

MANIFEST رو هم با نام MNIFEST گذاشتيد تو res فايل. تو برنامه هم بنويسيد MNIFEST چون Error ميده. يا resfile رو اصلاح كنيد.

موفق باشيد/

xxxxx_xxxxx
جمعه 22 خرداد 1388, 19:21 عصر
حالا لطفاً بگيد فايل Anti.exe چه فايل هايي رو حذف يا ايجاد مي كنه، چه كليدهايي رو در رجيستري ايجاد يا حذف ميكنه. من اونو اجرا كردم.

mohsen002
پنج شنبه 28 خرداد 1388, 20:32 عصر
ممنون كه بازم پاسخ دادي خيلي خيلي خيلي ممنون
thank
فقط چند تا كليد جزيي تو آدرس زير ميسازه :
HKEY_CURRENT_USER\Software\Anti Virus Mohsen0025\Setting
و مقداري كه مال hidden كردن فايل ها است اگه 0 باشه به 1 تبديل ميكنه.