ابوخليل قام بنشر أبريل 4, 2014 قام بنشر أبريل 4, 2014 بسم الله الرحمن الرحيم اخواني الاكارم ما يقلق المبرمج عادة عند انتهاء مشروع من مشاريعه الا الملفات التشغيلية المصاحبة للبرنامج والحصول على المساعدة اللازمة لتركيبها ثم تشغيلها والتركيب والتسجيل اليدوي مزعج حتى للمبرمج فكيف بالمستخدم العادي لذا فجعل البرنامج عند التنصيب هو الذي يقوم بالمهمة مطلب ضروري ، وهو ما سنتطرق له في هذا الموضوع علما انه يوجد من تطرق لهذا الموضوع في هذا المنتدى وغيره ولكن لكل موضوع خصوصيته وطريقته فأتمنى ان تجدوا اضافة ومعلومة جديدة في هذا الموضوع وبالله التوفيق يتبع ... 1
أمير2008 قام بنشر أبريل 4, 2014 قام بنشر أبريل 4, 2014 وعليكم السلام ورحمة الله وبركاته نعم كلامك صحيح خاصة وأن هناك اصدارات ويندوز مختلفة وكذلك أكسس وكذلك ملفات مكتبات التشغيل لذلك فتصميم برنامج يقوم بهذا العمل تلقائيا هو الحل الأمثل
ابوخليل قام بنشر أبريل 5, 2014 الكاتب قام بنشر أبريل 5, 2014 أولا : المعوقات درجة أمان windows حيث لا يمكننا إضافة أو تسجيل ملفات حين تكون درجة امان حساب المستخدم مرتفعة وحتى لو قمنا بتركيبها يدويا فلن يتسنى لنا ذلك الا بعد تخفيض الأمان الى الحد الأدنى ثم اعادة تشغيل النظام وهنا يتبادر سؤال : ماذا لو كان الامان على الحد الأدنى ؟ كيف نعلم ذلك ؟ وهل سيختلف الاجراء ؟ إذا : يجب اولا التأكد من درجة الامان فإن كان منخفضا حينها تتم خطوات التنصيب والا سيقوم البرنامج بتخفيض الامان ثم يعيد تشغيل النظام وهنا يتبادر تساؤل ايضا : هل سيبقى الامان منخفضا ؟ وهل يجب علينا اخبار المستخدم بالوضع الحالي ؟ أم انه يلزمنا اعادة الامان الى وضعه السابق ؟ كل هذه الامور تجعلنا _ وبالاصح تجعلني_ أفضل ان يقوم المستخدم بالعملية بنفسه حيث انها لا تأخذ من المستخدم سوى نقرتين فقط واحدة على زر ابدأ والثانية على صورة المستخدم ليجد أمامه اعدادات التحكم في حسابه . والآن الى الخطوات : 7 windows قراءة حساب المستخدم ودرجة الأمان : Dim objWShell, objReead Set objWShell = CreateObject("WScript.Shell") objReead = objWShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA") اذا كانت درجة الامان مرتفعه نقوم بتخفيضها وإلا نخرج من الحدث : If objReead = "1" Then objWShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA", 0, "REG_DWORD" Else Exit Sub End If ويمكن عكس الوضع : اذا كانت درجة الامان مرتفعه نقوم بتخفيضها وإلا نرفعها If objReead = "1" Then objWShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA", 0, "REG_DWORD" Else objWShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA", 1, "REG_DWORD" End If يأتي الآن دور تثبيت التغيير ويتحقق بإعادة تشغيل النظام ويمكن تخيير المستخدم بين التنفيذ من عدمه : If MsgBox("سيتم إعادة تشغيل النظام" & vbCrLf & _ " هل تريد المتابعة؟", _ vbQuestion + vbYesNo, _ "اعادة تشغيل النظام") = vbNo Then Exit Sub Set objWShell = Nothing Else objWShell.Run "shutdown /r /t 10 /f /d P:4:2" Set objWShell = Nothing End If انتهينا يتبع ... 2
أمير2008 قام بنشر أبريل 6, 2014 قام بنشر أبريل 6, 2014 (معدل) أنا أرى أن البرنامج المقترح يجب أن يكون تنفيذي exe ويقوم بكل شيئ تلقائيا دون تدخل المستخدم مطلقا ويكون البرنامج شامل لكل المكتبات التشغيلية التي يتطلبها الأكسس تم تعديل أبريل 6, 2014 بواسطه amir2008amir
ابوخليل قام بنشر أبريل 6, 2014 الكاتب قام بنشر أبريل 6, 2014 أنا أرى أن البرنامج المقترح يجب أن يكون تنفيذي exe ويقوم بكل شيئ تلقائيا دون تدخل المستخدم مطلقا ويكون البرنامج شامل لكل المكتبات التشغيلية التي يتطلبها الأكسس يسرني مشاركتك في الدرس فالمطلب والغاية واحدة ولكني اتلطف اليك لو منحت نفسك اسما عربيا يسرك سماعه كي نناديك به وحتى يحسن النقاش تفضل من هنا http://www.officena.net/ib/index.php?showtopic=41520
ابوخليل قام بنشر أبريل 6, 2014 الكاتب قام بنشر أبريل 6, 2014 وعلى هذا درسنا السابق لم ينته بعد واصبح الحديث ذو شجون حتى اني فكرت بتغيير العنوان من باب حسن الدلالة والوصف ثم اذا تطرقنا الى المكتبات وتسجيلها احيل القارىء الى هذا العنوان
أبو آدم قام بنشر أبريل 6, 2014 قام بنشر أبريل 6, 2014 انا جاهز دفتري و اقلامي وجهاز الحاسوب أجلس أتعلم مما فتح الله به على استاذي مهما كان الدرس ومداه ، ومهما كان الإسم ووصف الدلالة ... أنا بالانتظار فتح الله عليك شيخي بالانتظار .... .....
محمد ايمن قام بنشر أبريل 6, 2014 قام بنشر أبريل 6, 2014 اخي و استاذي ابا خليل جزاك الله كل خير ووفقك و زادك علما و عملا واجهتني هذه المشكلة كثيرا و وجت الحل عند احد الاصدقاء يتم وضع هذا الكود في نموذج بداية التشغيل On Error GoTo ErrSub With Access.References .AddFromFile "C:\Windows\System32\mscomctl32.ocx" .AddFromFile "C:\Windows\System32\wshom.ocx" End With MsgBox "all library was updated", vbInformation + vbMsgBoxRight ErrSub: If Err.Number = 32813 Then Resume Next ElseIf Err.Number <> 0 Then MsgBox Err.Number & vbCrLf & Err.Description, vbCritical End If
ابوخليل قام بنشر أبريل 7, 2014 الكاتب قام بنشر أبريل 7, 2014 انا جاهز دفتري و اقلامي وجهاز الحاسوب أجلس أتعلم مما فتح الله به على استاذي مهما كان الدرس ومداه ، ومهما كان الإسم ووصف الدلالة ... أنا بالانتظار فتح الله عليك شيخي بالانتظار .... ..... حقيقة لا اجد ما اقوله لأستاذنا وشيخنا ابي آدم ولكن سروري لا يوصف انه ينتظر : للتقويم .. والتقييم .. ومد يد العون أخي محمد أيمن جزاك الله خير سندرج الكود المذكور عند الحاجة الى اضافة مراجع معينة وقلت عند الحاجة : لان بعض المكتبات تعمل من دون اضافة مرجعها الى اكسس ( فقط يكفي تسجيلها في وندز ) ايضا هناك ملحوظة وهي ان الكود لن يعمل الا بحال وجود المكتبة داخل ملف النظام وهنا مربط الفرس
ابوخليل قام بنشر أبريل 7, 2014 الكاتب قام بنشر أبريل 7, 2014 أنا أرى أن البرنامج المقترح يجب أن يكون تنفيذي exe ويقوم بكل شيئ تلقائيا دون تدخل المستخدم مطلقا ويكون البرنامج شامل لكل المكتبات التشغيلية التي يتطلبها الأكسس اخونا امير شكرا لاجابة الدعوة ورأيك وجيه وهو ما سنسعى لتحقيقه وايضا يبدو انك على جانب لا بأس به من الخبرة فلا تبخل علينا جزيت خيرا نرجع لدرسنا : وما زلنا في المعوقات : ذكرنا اننا نستطيع فحص الامان في وندز فان كان منخفضا اكملنا تنصيب برنامجنا ، وان كان مرتفعا خفضناه ثم اعدنا تشغيل النظام وقد عرضنا الكود المسؤول عن هذه العمليات . لنفرض ان امان وندز كان مرتفعا فقمنا بخفضه ثم اعادة التشغيل المطلوب : وهذا الطلب منطقي _وحيث لا يحضرني منه شيء الآن _ فهو للجميع ، كل يدلي بدلوه نريد ان يفتح النظام على برنامجنا حتى نستكمل التنصيب ؟
محمد ايمن قام بنشر أبريل 7, 2014 قام بنشر أبريل 7, 2014 جزاك الله كل خير استاذنا الغالي و بارك الله فيك أخي محمد أيمن جزاك الله خير سندرج الكود المذكور عند الحاجة الى اضافة مراجع معينة وقلت عند الحاجة : لان بعض المكتبات تعمل من دون اضافة مرجعها الى اكسس ( فقط يكفي تسجيلها في وندز ) ايضا هناك ملحوظة وهي ان الكود لن يعمل الا بحال وجود المكتبة داخل ملف النظام وهنا مربط الفرس الكود للاستاذة القديرة زهرة العبدلله Dim SourceFile, DestinationFile SourceFile = Application.CurrentProject.Path & "\Rockey4ND.dll" DestinationFile = "c:\windows\system32\Rockey4ND.dll" FileCopy SourceFile, DestinationFile MsgBox ("تم النسخ بنجاح") لنفرض ان امان وندز كان مرتفعا فقمنا بخفضه ثم اعادة التشغيل المطلوب : وهذا الطلب منطقي _وحيث لا يحضرني منه شيء الآن _ فهو للجميع ، كل يدلي بدلوه نريد ان يفتح النظام على برنامجنا حتى نستكمل التنصيب ؟ لماذا لا نقوم بانهاء التنصيب ثم نخفض الأمان ثم نقوم باعادة التشغيل 1
ابوخليل قام بنشر أبريل 7, 2014 الكاتب قام بنشر أبريل 7, 2014 اخي العزيز الكود معروف وهذا مصدره http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.filesystem.filecopy.aspx وقد تكون جربته على xp ولكن على win7 لن يعمل حتى تتمكن من تعديل حساب المستخدم وتقوم بتخفيض الأمان الى الحد الادنى لماذا لا نقوم بانهاء التنصيب ثم نخفض الأمان ثم نقوم باعادة التشغيل يبدو ان الامر التبس عليك فما دام التنصيب قد تم فليس هناك داع لخفض الأمان ام تقصد ان اضافة المكتبات وتسجيلها يتم بعد التنصيب ؟ عند تشغيل البرنامج لأول مرة ؟ دعنا نسير في طريقك هذا : عند تشغيل البرنامج لاول مرة سيتم خفض الامان ثم اعادة تشغيل النظام انتبه ! حتى الآن لم نقم باضافة وتسجيل المكتبات ثم ماذا ؟ طبعا سنقوم بتشغيل البرنامج للمرة الثانية للتسجيل ثم بقيت حقوق المستخدم : فمن حقه ارجاع نظامه الى ما كان عليه وبهذه الطريقة ينقطع الحبل لاننا في مطلبنا اعلاه نريد النظام ان يقلع من برنامجنا
أبو آدم قام بنشر أبريل 8, 2014 قام بنشر أبريل 8, 2014 نتابع معك بما لديك وما رتبت له ... ..... جزيت خيراً ..... .....
ابوخليل قام بنشر أبريل 8, 2014 الكاتب قام بنشر أبريل 8, 2014 كنت وقفت عند اعادة تشغيل النظام وما دام خط سيرنا اخذ وجهة اخرى فسأوجز هنا العناصر والخطوات التي نسير عليها وأسأل ربي العون على ذلك 1- قراءة حساب المستخدم ودرجة الأمان 2- ان كان الامان منخفضا فسنكمل تنصيب برنامجنا .. وكفينا.. وعوفينا 3- ان كان الامان مرتفعا يقوم البرنامج بتخفيضه ثم يعيد تشغيل النظام 4- سيقلع النظام بعد اعادة التشغيل على برنامجنا ويفتح النموذج الهدف 5- يتم اضافة المكتبات وتسجيلها واكمال تنصيب البرنامج 6 - اعادة الامان الى وضعه السابق 7- اعادة تشغيل النظام ( اختياري ) بقي شيء صغير جدا بحاجة الى تصور ، حتى نمسك خطام البعير ونسير
أمير2008 قام بنشر أبريل 8, 2014 قام بنشر أبريل 8, 2014 أبـوخليل : جزيت خيرا ، وأنا أتعلم منكم في هذا المنتدى خاصة هذه المعلومة الهامة : "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA", "0", "REG_DWORD" فمنذ فترة صممت برنامجا لتسجيل المكتبات التشغيلية وكان يعمل بامتياز عندي لكن في أجهزة أخرى كانت هناك رسائل خطأ ولم أكن أعلم موضوع EnableLUA حسب فهمي للموضوع أعتقد أنكم تريدون برنامج تنفيذي exe بأي لغة من اللغات يكون مثلا في صورة إعداد لقاعدة البيانات على جهاز المستخدم ويحتوى على قاعدة البيانات وهذا ما جذبني للموضوع بسبب محاولاتي فعل ذلك سابقاً أبـوخليل وما دام خط سيرنا اخذ وجهة اخرى فسأوجز هنا العناصر والخطوات التي نسير عليها وأسأل ربي العون على ذلك 1- قراءة حساب المستخدم ودرجة الأمان 2- ان كان الامان منخفضا فسنكمل تنصيب برنامجنا .. وكفينا.. وعوفينا 3- ان كان الامان مرتفعا يقوم البرنامج بتخفيضه ثم يعيد تشغيل النظام 4- سيقلع النظام بعد اعادة التشغيل على برنامجنا ويفتح النموذج الهدف 5- يتم اضافة المكتبات وتسجيلها واكمال تنصيب البرنامج 6 - اعادة الامان الى وضعه السابق 7- اعادة تشغيل النظام ( اختياري ) الخطوات من 1 إلى 6 منطقية التسلسل ورائعة وتنفيذها متاح برمجيا لكن احب اسجل بعض المقترحات للنقاش : - الخطوة السابعة أعتقد غير ضرورية للتقليل من رسائل اعادة التشغيل للمستخدم - بطريقة ما يكون هناك مكان داخل البرنامج لا يدخله سوى المبرمج ويحدد فيه المكتبات التشغيلية المطلوبة التي سوف يتم اعدادها تلقائيا عند جهاز المستخدم
ابوخليل قام بنشر أبريل 9, 2014 الكاتب قام بنشر أبريل 9, 2014 حسب فهمي للموضوع أعتقد أنكم تريدون برنامج تنفيذي exe بأي لغة من اللغات يكون مثلا في صورة إعداد لقاعدة البيانات على جهاز المستخدم ويحتوى على قاعدة البيانات بل التحكم من برنامجنا لان معظم برامج التحزيم تشتمل على خاصية تشغيل نموذج البداية ولا بأس في اقتراحك حول النقطة السابعة ، علما ان الكود سيكون موجودا في مكانه لمن اراد تشغيله او تعطيله
ابوخليل قام بنشر أبريل 9, 2014 الكاتب قام بنشر أبريل 9, 2014 على بركة الله وهو المستعان ... جزيت خيراً ... شكرا ابا آدم على المتابعة والمساندة بقي شيء صغير جدا بحاجة الى تصور وهو تسجيل بعض النتائج المهمة في الحدث . ويهمنا هنا درجة الامان ، فلا بد من شاهد او دليل على درجة الامان الابتدائية فحين يغلق النظام تذهب جميع البيانات العالقة في الذاكرة ، وهذه لا بد من اخذ حسابها من اجل ضبط العملية لذا سيكون من ضمن الكائنات المساعدة حقل في جدول نودع فيه درجة الامان قبل اغلاق النظام لذا سننشء جدولا باسم tblTemp به حقل رقمي باسم tmp دعونا الآن نعرض الاجراءات الاخرى التي سنستخدمها في العملية غير ما تم ذكره اعلاه 1- وحدة نمطية عامة وهي المسؤولة عن تسجيل المكتبات : Option Compare Database Option Explicit Private Declare Function LoadLibraryA Lib "kernel32" (ByVal lLibFileName As String) As Long Private Declare Function CreateThread Lib "kernel32" (lThreadAttributes As Any, ByVal lStackSize As Long, ByVal lStartAddress As Long, ByVal larameter As Long, ByVal lCreationFlags As Long, lThreadID As Long) As Long Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal lMilliseconds As Long) As Long Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lProcName As String) As Long Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Private Declare Function GetExitCodeThread Lib "kernel32" (ByVal hThread As Long, lExitCode As Long) As Long Private Declare Sub ExitThread Lib "kernel32" (ByVal lExitCode As Long) 'Purpose : This function registers and Unregisters OLE components 'Inputs : sFilePath The path to the DLL/OCX or ActiveX EXE ' bRegister If True Registers the control, else unregisters control 'Outputs : Returns True if successful 'Author : Andrewb 'Date : 04/09/2000 'Notes : This is the API equivalent of RegSvr32.exe. 'Example : ' If RegisterComponent("C:\MyPath\MyFile.dll") = True Then ' Msgbox "Component Successfully Registered" ' Else ' Msgbox "Failed to Registered Component" ' End If 'Revisions : 1/Jan/2002. Updated to include code for registering ActiveX Exes. Function RegisterComponent(ByVal sFilePath As String, Optional bRegister As Boolean = True) As Boolean Dim lLibAddress As Long, lProcAddress As Long, lThreadID As Long, lSuccess As Long, lExitCode As Long, lThread As Long Dim sRegister As String Const clMaxTimeWait As Long = 20000 'Wait 20 secs for register to complete On Error GoTo ErrFailed If Len(sFilePath) > 0 And Len(Dir(sFilePath)) > 0 Then 'File exists If UCase$(Right$(sFilePath, 3)) = "EXE" Then 'Register/Unregister ActiveX EXE If bRegister Then 'Register EXE Shell sFilePath & " /REGSERVER", vbHide Else 'Unregister ActiveX EXE Shell sFilePath & " /UNREGSERVER", vbHide End If RegisterComponent = True Else 'Register/Unregister DLL If bRegister Then sRegister = "DllRegisterServer" Else sRegister = "DllUnRegisterServer" End If 'Load library into current process lLibAddress = LoadLibraryA(sFilePath) If lLibAddress Then 'Get address of the DLL function lProcAddress = GetProcAddress(lLibAddress, sRegister) If lProcAddress Then lThread = CreateThread(ByVal 0&, 0&, ByVal lProcAddress, ByVal 0&, 0&, lThread) If lThread Then 'Created thread and wait for it to terminate lSuccess = (WaitForSingleObject(lThread, clMaxTimeWait) = 0) If Not lSuccess Then 'Failed to register, close thread Call GetExitCodeThread(lThread, lExitCode) Call ExitThread(lExitCode) RegisterComponent = False Else 'Successfully registered component RegisterComponent = True Call CloseHandle(lThread) End If End If Call FreeLibrary(lLibAddress) Else 'Object doesn't expose OLE interface Call FreeLibrary(lLibAddress) End If End If End If End If Exit Function ErrFailed: Debug.Print Err.Description Debug.Assert False On Error GoTo 0 End Function 2- وحدة نمطية لقراءة نوع النظام 32بت أو 64بت Public Function IsWin32OrWin64() As String Dim proc_query As String Dim proc_results As Object Dim info As Object proc_query = "SELECT * FROM Win32_Processor" Set proc_results = GetObject("Winmgmts:").ExecQuery(proc_query) For Each info In proc_results IsWin32OrWin64 = info.AddressWidth & "-bit" Next info End Function 3- وحدة نمطية للتأكد من وجود الملف قبل النسخ واللصق : Public Function DoesFileExist(vPathAndFile As String) As Boolean If Len(Dir$(vPathAndFile)) > 0 Then DoesFileExist = True Else DoesFileExist = False End Function 4- وحدة نمطية تقوم بنسخ الملفات من برنامجنا الى المكان الذي نحدده Function CopyFile(vPathSource As String, vPathDestination As String) As Boolean FileCopy vPathSource, vPathDestination CopyFile = True End Function 5- عملية النسخ والتسجيل وتم وضعها في وحدة نمطية عامة : Public Function tsjeelMktbat() Dim sjel As Variant sjel = IsWin32OrWin64() If sjel = "32-bit" Then If Not DoesFileExist("C:\Windows\System32\Barcodex.ocx") Then 'للتأكد من عدم وجود الملف CopyFile CurrentProject.Path & "\Barcodex.ocx", "C:\Windows\System32\Barcodex.ocx" 'نسخ الملف في المكان المحدد RegisterComponent ("C:\Windows\System32\Barcodex.ocx") 'تسجيل الملف Else RegisterComponent ("C:\Windows\System32\Barcodex.ocx") ' وان كان الملف موجود سجله End If 'يمكن اضافة اكثر من ملف اعلاه ElseIf sjel = "64-bit" Then If Not DoesFileExist("C:\Windows\SysWOW64\Barcodex.ocx") Then CopyFile CurrentProject.Path & "\Barcodex.ocx", "C:\Windows\SysWOW64\Barcodex.ocx" RegisterComponent ("C:\Windows\SysWOW64\Barcodex.ocx") Else RegisterComponent ("C:\Windows\SysWOW64\Barcodex.ocx") End If End If End Function يتبع ... 3
ابوخليل قام بنشر أبريل 9, 2014 الكاتب قام بنشر أبريل 9, 2014 وإياك أخي أبا عمر .. سعدت بمرورك تابع الاجراءات : نحن بحاجة الى كود يجعل النظام يقلع من برنامجنا عند اعادة التشغيل ’ بشرط الا يعمل الا مرة واحدة ويوجد طريقة برمجية يستخدمها البعض وهي نسخ اختصار للبرنامج ولصقه في مجلد بدء التشغيل ثم حذفه عند نهاية التنصيب ولكن يوجد طريقة أسهل من ذلك وهي موجودة ومهيأة في النظام وبالتحديد في التسجيل (الريجستري) فيمكن اعطاء امر وتسجيله ليقوم النظام بتنفيذه مرة واحدة عند بداية التشغيل وهذا هو المكان الذي سنضع فيه الأمر "HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce ليصبح بعد اعداده والكتابة فيه هكذا : objWShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\tsj", "D:\tsjeel.mdb", "REG_SZ" باعتبار برنامجنا سيتم تنصيبه على D باسم tsjeel يتبع ... 3
ابوخليل قام بنشر أبريل 9, 2014 الكاتب قام بنشر أبريل 9, 2014 وهذه هي الصيغة النهائية للعمل : Dim objWShell, objReead ' On Error Resume Next Set objWShell = CreateObject("WScript.Shell") objReead = objWShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA") If objReead = "0" And Me.tmp = "0" Then Call tsjeelMktbat Set objWShell = Nothing MsgBox "تم التنصيب واضافة ملفات النظام بنجاح" Exit Sub ElseIf objReead = "1" And Me.tmp = "0" Then objWShell.RegWrite "HKLM\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA", 0, "REG_DWORD" Me.tmp = "1" objWShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\tsj", "D:\tsjeel.mdb", "REG_SZ" objWShell.Run "shutdown /r /t 10 /f /d P:4:2" 'visit: http://pcsupport.about.com/od/commandlinereference/p/shutdown-command.htm Set objWShell = Nothing Exit Sub Else Call tsjeelMktbat objWShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA", "1", "REG_DWORD" MsgBox "تم التنصيب واضافة ملفات النظام بنجاح" 'If MsgBox("سيتم إعادة تشغيل النظام" & vbCrLf & _ ' " هل تريد المتابعة؟", _ ' vbQuestion + vbYesNo, _ ' "اعادة تشغيل النظام") = vbNo Then ' Exit Sub 'Else 'objWShell.Run "shutdown /r /t 10 /f /d P:4:2" Set objWShell = Nothing 'End If End If وهذا هو التطبيق tsjeel.rar 2
ابوخليل قام بنشر أبريل 9, 2014 الكاتب قام بنشر أبريل 9, 2014 (معدل) وهذا التطبيق لمن يريد اضافة المكتبات وتسجيلها فقط ملحوظة : يجب ان تكون ملفات المكتبات بجانب البرنامج في مجلد واحد tsjeel2.rar تم تعديل أبريل 20, 2014 بواسطه أبـوخليل اصلاح المرفق حيث يوجد خلل في توقيت الحدث (شكرا لأبي آدم للتنبيه) 2
أبو آدم قام بنشر أبريل 21, 2014 قام بنشر أبريل 21, 2014 أجزلت العطاء وأحسنت الينا أبا خليل جزيت عنا خيراً ، وأحسن الله اليك ... تم التطبيق على windows xp و windows 7 ...
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.