الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة permission denied عند نقل البرنامج لمجلد الس

مغلق
بدأه mostafa_sobhy في 3 أكتوبر 2005 · 5 رد · 861 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

prog.rarبسم الله الرحمن الرحيم و الصلاة و السلام على اشرف الخلق و سيد المرسلين سيدنا محمد و على اله و صحبه و من اتبعهم

اخواني الاعزاء مشكلتي هي اني عملت تايمر و كتبت فيه كود عمل باتش يشيل البرنامج و يشيل نفسه بعدها

و لكني كتبت في الفورم لوود كود نسخ البرنامج الى مجلد السيستم

المشكلة هي::::::

------------------

عندما اقوم بفتح البرنامج من مجلد السيستم يبعث لي برسالة

permission denied

ساكتب الكود و سارفق المشروع ايضا لتوضيح المشكلة

Private Sub Form_Load()

FileCopy App.Path & "\" & App.EXEName & ".exe", "C:\WINDOWS" & "\" & "System" & "\" & App.EXEName & ".exe"

End Sub

Private Sub Timer1_Timer()

Open "Del.bat" For Append As #1

Close #1

Open "Del.bat" For Output As #1

Print #1, ":S"

Print #1, "Del " & App.EXEName & ".exe"

Print #1, "If Exist " & App.EXEName & ".exe" & " goto S"

Print #1, "Del Del.bat"

Close #1

Shell "Del.bat", vbHide

Unload Me

End Sub

لتلافي هذه المشكلة و اجعل البرنامج يعمل من السيستم ماذا افعل ارجوا الأفادة

وارجوا ان اكون قد اوضحت

و السلام عليكم و رحمة الله

#2

في البداية.. برنامجك يقوم بحذف نفسه من مجلد عادي وهذا مسموح

أما ثانيا.. فهو يحاول حذف نفسه من مجلد يعتبر مجلد نظام خاص بنظام التشغيل وبالتالي لا يستطيع فعل ذلك..!

والله أعلم.

::::التوقيع::::

موقع ممتاز

وان شاء الله يفيد الجميع

وشكرا

؟؟لماذا لا يصل الايميل المرسل من صفحتي الي الهوتميل؟؟

مستوي الجدية في المواضيع المطروحة

لا اله الا الله محمد رسول الله

#3

السلام عليكم..

شيء منطقي أن تظهر رسالة Permission Denied ..

لأن عند تشغيل البرنامج من مجلد ال System ستقوم باستخدام دالة FileCopy للمرة الثانية لنسخ نسخة من نفس ال EXE علي النسخة التي تعمل حاليا..

وبما أن نسخة ال EXE تعمل فلن يتم النسخ عليها .. وسيظهر لك تلك الرسالة..

وبالتالي عليك التأكد من وجود نسخة بالفعل من ال EXE في مجلد ال System ..

فإذا كانت موجودة فلا يتم استخدام دالة FileCopy... أما إذا كانت موجودة فنقوم باستخدام دالة FileCopy..

ويمكن عمل ذلك بدالة Dir..

طريقة أخري أن نفحص مسار نسخة ال EXE الحالية ...

فإذا كان مسار تلك النسخة هو نسخة ال EXE الموجودة في مجلد ال System فلا يتم استخدام دالة FileCopy والعكس .. إذا كانت نسخة ال EXE تعمل من مسار أخر غير مسار مجلد ال System..

شفرة تلك العملية هي :

Private Sub Form_Load()
Timer1.Interval = 0
If Dir(Environ$("WinDir") & "\System\" & App.EXEName & ".exe") = "" Then
 FileCopy App.Path & "\" & App.EXEName & ".exe", Environ$("WinDir") & "\System\" & App.EXEName & ".exe"
 Timer1.Interval = 500
Else
'Do nothing
End If
End Sub


Private Sub Timer1_Timer()
Open "Del.bat" For Append As #1
Close #1
Open "Del.bat" For Output As #1
'Print #1, "(@)Echo "
Print #1, ":S"
Print #1, "Del " & App.EXEName & ".exe"
Print #1, "If Exist " & App.EXEName & ".exe" & " goto S"
Print #1, "Del Del.bat"
Close #1
Shell "Del.bat"
End
End Sub

أيضا إذا أردت شفرة الطريقة الثانية..

Private Sub Form_Load()
Timer1.Interval = 0
If LCase(App.Path & "\" & App.EXEName & ".exe") = _
               LCase(Environ$("WinDir") & "\System\" & App.EXEName & ".exe") Then

 'Do nothing
Else
  FileCopy App.Path & "\" & App.EXEName & ".exe", Environ$("WinDir") & "\System\" & App.EXEName & ".exe"
  Timer1.Interval = 500
End If
End Sub


Private Sub Timer1_Timer()
Open "Del.bat" For Append As #1
Close #1
Open "Del.bat" For Output As #1
'Print #1, "(@)Echo "
Print #1, ":S"
Print #1, "Del " & App.EXEName & ".exe"
Print #1, "If Exist " & App.EXEName & ".exe" & " goto S"
Print #1, "Del Del.bat"
Close #1
Shell "Del.bat"
End
End Sub

وأرجو منك أخي العزيز في المستقبل .. استخدام تنسيق الكود Code عند وضع أي شفرات.. حتي نستطيع قرأتها ..

تم تعديل هذه المشاركة بواسطة Pharaonic_Guy في 4 أكتوبر 2005 في 14:47

#4

بوركت أخونا Pharaonic_Guy

جميل جدا

مرفق برنامج تنسيق الكود Code

اطريقة الاستخدام

Indenter VB v2[1].1.zip

29_09_05_02_32_59_1128029579_4_13_3[_].gif

صور gif شفافة لتجميل واجة البرنامج

الخط العثماني للمهتمين ببرمجة برامج تلاوة القرآن

كيف يمكن عمل سكرول بالماوس, scroling by mouse wheel

كبفية استعراض ملف PDF في تكست

06_02_06_08_01_06_1139241666down-logo_1.gif

هل نكذب علي الله ام نكذب علي انفسنا

البـر لا يبلي ، و الذنب لا ينسـي ، و الديـان لا يمـوت ، افعـل مـا شئت كما تـديـن تـدان

ليس كل من تعمم مفتيا ، بل ان الدين الاسلامي ليس قيه كهانه و بالتالي ليس فيه ما يعرف ب رجال الدين – احمد رجب

                                  مع خالص تحيـــــــــــــــــــــــــــــــــاتي

                                                   GAF58 

#5

بسم الله الرحمن الرحيم

الف الف شكر اخ :) يعني ما كنت متوقع رد بس كده الله يكرمك

و الف شكر لمن اهتم بالموضوع و حاول الأجابة

شكرا

#6

بسم الله الرحمن الرحيم

---------------------------

مشكور و الله اخ Pharaonic_Guy

هذا الموضوع مغلق.

مواضيع مشابهة