تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مثال طريقة جعل البرنامج يعمل مع بداية تشغيل النظام
#1
بسم الله الرحمن الرحيم

طريقة جعل البرنامج يعمل مع بداية تشغيل النظام

اقدم لكم اليوم اخواني الكرام هذا الموضوع الذي هو مثال بسيط عن كيفية جعل برنامجنا يعمل بعد اقلاع النظام



يمكن جعل هذا الشيء ممكنا بطريقيتين (ليس حصرا) اذ يوجد غيرها 

الطريقة الاولى وهي الابسط تكون بعمل اختصار ShortCut لبرنامجنا في مجلد بدء التشغيل StartUp
والموجود على المسار التالي :
C:\Users\User Name\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

ويمكن اضافة الاختصار اما يديويا بفتح المجلد ولصق الاختصار فيه
او برمجيا عن طريق الكود 

في البرنامج المثال استخدمت الكلاس التالي:
كود :
Imports IWshRuntimeLibrary
Imports System
Public Class XShortCut
    ''' <summary>
    ''' Creates a shortcut in the startup folder from a exe as found in the current directory.
    ''' </summary>
    ''' <param name="exeName">The exe name e.g. test.exe as found in the current directory</param>
    ''' <param name="startIn">The shortcut's "Start In" folder</param>
    ''' <param name="description">The shortcut's description</param>
    ''' <returns>The folder path where created</returns>
    Public Sub CreateShortCutInStartUpFolder(exeName As String, description As String)
        Dim lnkName As String = IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup), _
                                             IO.Path.GetFileNameWithoutExtension(exeName) & ".lnk")
        Dim linkPath = exeName
        Dim targetPath = IO.Path.GetDirectoryName(exeName)
        IO.File.Delete(lnkName)
        Create(lnkName, exeName, targetPath, description)
    End Sub

    ''' <summary>
    ''' Create a shortcut
    ''' </summary>
    ''' <param name="fullPathToLink">the full path to the shortcut to be created</param>
    ''' <param name="fullPathToTargetExe">the full path to the exe to 'really execute'</param>
    ''' <param name="startIn">Start in this folder</param>
    ''' <param name="description">Description for the link</param>
    Public Shared Sub Create(fullPathToLink As String, fullPathToTargetExe As String, startIn As String, description As String)
        Dim shell = New WshShell()
        Dim link = DirectCast(shell.CreateShortcut(fullPathToLink), IWshShortcut)
        link.IconLocation = fullPathToTargetExe
        link.TargetPath = fullPathToTargetExe
        link.Description = description
        link.WorkingDirectory = startIn
        link.Save()
    End Sub
End Class

وهو كلاس وجدته في احد المواقع وقمت بالتعديل عليه قليلا
ووضيفته هي انشاء الاختصار
ويتم استخدامه كالتالي:

كود :
Dim shortcut As New XShortCut()

        shortcut.CreateShortCutInStartUpFolder(appName, "")

اما الطريقة الثانية فهي عن طريق استخدام سجل النظام Registry
ويكون باضافة قيمة الى المفتاح التالي :
SOFTWARE\Microsoft\Windows\CurrentVersion\Run
عند الرغبة في جعل البرنامج يعمل بعد اقلاع النظام

وعند الرغبة في عدم جعل البرنامج يعمل مع اقلاع النظام
نقوم بحذف القيمة

والقيمة عبارة عن اسم البرنامج + مسار البرنامج

ويتم هذا باستخدام الكود التالي
للاضافة :
كود :
My.Computer.Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", True).SetValue(Application.ProductName, Application.ExecutablePath)
للحذف:
كود :
My.Computer.Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", True).DeleteValue(Application.ProductName, True)
هذا تقريبا كل شيء

لكن ينبغي الملاحظة ان التعامل مع سجل النظام يتطلب ان يعمل برنامجك كمسؤول

تحميل المثال

.zip   RunWithSystemStartup.zip (الحجم : 101.01 ك ب / التحميلات : 101)

الرد }}
#2
السلام عليكم ورحمة الله وبركاته
تعجبني الأمثلة الشافية والوافية  ومنها أمثلتك أخي معاند لأنها تزيد من رصيد منتدانا الغالي
بارك الله فيك ولك .... ننتظر المزيد
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}
تم الشكر بواسطة: معاند الحظ , سعود
#3
شرح وافي و كافي

و ختمتها بالمسك بإرفاقك للبرنامج

جزاك الله خير و بارك الله فيك
اللهم ارحم من أسس هذا المنتدى (اباليث) و أجعل كل علم نافع تعلمناه في هذا المنتدى أجر له و صدقة تنفعه في قبره
الرد }}
تم الشكر بواسطة: معاند الحظ , سعود


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مشروع] ضغط و فك الضغط بابسط طريقة (تحتاج تطوير) سعود 0 215 31-07-22, 03:43 AM
آخر رد: سعود
  [مشروع] ابسط مثال تصوير الشاشة وحفظ الصور كلها بملف واحد مع الصوت وباقي التفاصيل سعود 9 493 24-07-22, 08:22 PM
آخر رد: سعود
Rainbow [كود] حساب وقت التاريخ المتبقي مع اضافه مقطع تشغيل صوتي محمد مسافر 1 298 15-06-22, 10:09 AM
آخر رد: asmarsou
  مثال على عمل qr code و قرائة ال qr code من ملف صورة او من الشاشة mohamed haroon 5 4,687 12-06-22, 02:30 PM
آخر رد: أبو خالد الشكري
Video [درس فيديو] طريقة سحب الصور والنصوص وافلاتها لادراجها في مكانها ahmadpal 2 1,493 06-04-22, 01:31 AM
آخر رد: ابو روضة
  البرنامج لا يعمل عند قطع التيار ولا بد من تغيير مكانه atefkhalf2004 0 371 27-03-22, 10:56 AM
آخر رد: atefkhalf2004
  مثال لصفحة خيارات التقرير مثل البرامج الكبيرة محمود صالح 4 1,163 13-02-22, 11:00 PM
آخر رد: عبدالحميد حسني
  [مثال] مثال لنسخ وإستعادة قاعدة البيانات ( تحديث) نسخ تلقائي للقاعدة حسب اليوم والساعة جميل علي 78 37,646 03-02-22, 12:56 PM
آخر رد: abo.alaa315
  مسح الصور وحفظها بلاحقة Pdf او jpg مثال معدل من احدى المشاركات ابراهيم ايبو 0 655 20-01-22, 09:50 PM
آخر رد: ابراهيم ايبو
  تشغيل السيرفر بدون الدخول الى Services ابراهيم ايبو 0 543 09-01-22, 10:32 PM
آخر رد: ابراهيم ايبو

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم