كيف اجعل برنامجى يعمل مع بدا الوندوز
ملحوظة انا اعلم انه يوجد موضوع فى المنتدى بنفس السؤال لكن لا اعلم لماذا البحث لا يظهر نتائج!!!!
كيف اجعل برنامجى يعمل مع بدا الوندوز
ملحوظة انا اعلم انه يوجد موضوع فى المنتدى بنفس السؤال لكن لا اعلم لماذا البحث لا يظهر نتائج!!!!
Do you have dreams?
Do you think you can do anything and nothing impossibale?
Well think again , Dream less , and Never wish (Advice)!!
السلام عليكم
إليك هذه الطريقة (قد لا تعتبر الأفضل لكن يمكنك الاعتماد عليها إلى حين إجاد طريقة أفضل)
بما أن طريقة عمل ذلك يكون في الـ Registry فأظن أنه من الأحسن أخذ مثال برنامج نعرف أنه يشتغل لدى بداية windows
نأخذ مثلا Yahoo Messenger
لدى الدخول إلى التشعب التالي:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg
نجد مفتاحا خاصا بـ Yahoo Messenger
نحفظ المفتاح في ملف reg
و هذا محتواه
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg\Yahoo! Pager] "key"="SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run" "item"="YahooMessenger" "hkey"="HKCU" "command"="\"C:\\Program Files\\Yahoo!\\Messenger\\YahooMessenger.exe\" -quiet" "inimapping"="0"
و الآن يبقى تغيير الملف حسب احتياجات برنامجنا
و ليكن على سبيل المثال
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg\ZiusReg] "key"="SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run" "item"="ZiusProg" "hkey"="HKCU" "command"="\"C:\\Program Files\\Zius\\Zius.exe" "inimapping"="0"
لاحظ استعمال // للفصل بين أسماء المجلدات
و الآن double Click على الملف و من ثم أعد تشغيل الجهاز لتلاحظ النتيجة
ملاحظة: يمكنك عمل ذلك برمجيا الآن ما دمت تعرف أن يجب التغيير في registry
تم تعديل هذه المشاركة بواسطة djug في 4 يوليو 2008 في 22:35
شكرا لك djug ولكن اريد الطريقة بالكود لن اطلب من عميل او صديقة اقوم بعمل برنامج له ان يفعل هذا بنفسة
Do you have dreams?
Do you think you can do anything and nothing impossibale?
Well think again , Dream less , and Never wish (Advice)!!
Zius كتب:شكرا لك djug ولكن اريد الطريقة بالكود لن اطلب من عميل او صديقة اقوم بعمل برنامج له ان يفعل هذا بنفسة
كما أشرت إليه
اقتباسملاحظة: يمكنك عمل ذلك برمجيا الآن ما دمت تعرف أن يجب التغيير في registry
لم أبرمج من قبل بالـ vb
لكن يتوجب عليك الآن البحث عن دوال التعامل مع الـ regitry و عمل مل تم ذكره فوق
كما أنه يوجد "نصف حل" آخر
آلا و هو مناداة ملف الـ reg المذكور فوق من برنامجك باستعمال الأمر
regedit /s RegFilePath
أو الأمر
Reg import RegFilePath
مشكلة في بدء تشغيل البرنامج مع الويندوز
Option Explicit Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long Private Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, lpSecurityAttributes As Any, phkResult As Long, lpdwDisposition As Long) As Long Private Const READ_CONTROL = &H20000 Private Const KEY_QUERY_VALUE = &H1 Private Const KEY_SET_VALUE = &H2 Private Const KEY_CREATE_SUB_KEY = &H4 Private Const KEY_ENUMERATE_SUB_KEYS = &H8 Private Const KEY_NOTIFY = &H10 Private Const KEY_CREATE_LINK = &H20 Private Const KEY_READ = KEY_QUERY_VALUE + KEY_ENUMERATE_SUB_KEYS + KEY_NOTIFY + READ_CONTROL Private Const KEY_WRITE = KEY_SET_VALUE + KEY_CREATE_SUB_KEY + READ_CONTROL Private Const KEY_EXECUTE = KEY_READ Private Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL Private Const RunPath = "SoftwareMicrosoftWindowsCurrentVersionRun" Private Const HKLM = &H80000002 ' استخدم الامر التالي لالغاء التشغيل التلقائي Public Sub DoNotRun(ProgramName As String) Dim hKey As Long Dim Ret As Long ' فتح المفتاح المطلوب Ret = RegOpenKeyEx(HKLM, RunPath, 0, KEY_ALL_ACCESS, hKey) ' حذفها من مسجل النظام. Ret = RegDeleteValue(hKey, ProgramName) ' إغلاق المفتاح RegCloseKey hKey End Sub Public Sub RunWhenStartup(ProgramName As String, ProgramPath As String) Dim hKey As Long Dim Ret As Long ' فتح المفتاح المطلوب Ret = RegOpenKeyEx(HKLM, RunPath, 0, KEY_ALL_ACCESS, hKey) ' إنشاء قيمة جديدة بإسم البرنامج وعنوانه. Ret = RegSetValueEx(hKey, ProgramName, 0&, 1, ProgramPath, Len(ProgramPath)) 'LenB(StrConv(TheData, vbFromUnicode)) + 1) ' إغلاق المفتاح RegCloseKey hKey End Sub
تم تعديل هذه المشاركة بواسطة المبرمج أحمد في 4 يوليو 2008 في 23:24
سبحان الله وبحمده ... سبحان الله العظيم
السلام عليكم...
حل بسيط آخر: عند إعداد معالج التركيب (Setup Wizard) أنشئ اختصاراً (Link or Shortcut) للملف التنفيذي (Exe) الخاص بالبرنامج في قائمة "بدء التشغيل" (Startup).
نرجو الاستفادة و السلام.
وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ
صدق الله العظيم
السلام عليكم ورحمة الله وبركاته
جرب المثال الموجود بالمرفقات
واذا كنت تنوي القيام بعمل حزمة تنصيب للبرنامج بتاعك لو حاتستخدم برنامج setup factory اليك صورة بالمرفقات توضح كيفية عمل ذلك
سبحان الله وبحمده - سبحان الله العظيم
ما زال الرجل عالما طالما يتحري العلم فان قال علمت ........ فقد جهل