تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[vb6.0] جعل البرنامج يفتح كمسؤول
#1
بسم الله الرحمن الرحيم
الحمد لله على فتح المنتدى و الله منذ ان تم اغلاق المنتدى للنقل و احنا محتارين و الله عرفت انه هناك عائلة و احباب في هذا الصرح
الله يديم هذا الصرح و يعيين الواقفين عليه
اما بعد
اساتذتي الكرام كيف يمكنني ان اجعل البرنامج يقلع كمسؤول
حيث انه قبل التحزيم يعمل جيدا و بعد التحزيم و التسطيب  يعطي مشكل إلا اذا اقلعته كمسؤول
ما الحل بارك الله فيكم
الرد
تم الشكر بواسطة: Amir_Alzubidy
#2
اهلا وسهلا بك بيننا من جديد
والله الك وحشة Smile

في الاسفل شرح متكامل لحل مشكلة تشغيل البرنامج كمسؤول

اضغط : هنا
الرد
تم الشكر بواسطة: larbihamri , عبد العزيز البسكري , rnmr , rnmr
#3
الا توجد طريقة أخرى عن طريق الساتب فاكتوري
ان الطرق المرفقه في شرح الأستاذ شحادة و الله لم افهم شيء فيها و كما علمتموني يجب ان افهم الكود حتى اتقن استعماله
الرد
تم الشكر بواسطة:
#4
السلام عليكم ورحمة الله وبركاته

أخي الكريم , إذا أردت أن تسجل الملف التنفيذي لبرنامجك ليعمل كمسئول  وذلك أثناء عملية التثبيت بالـ SetupFactory , قم بعمل الخطوات التالية :

1- بعد إضافة جميع ملفات التثبيت في قائمة الملفات في برنامج الـ SetupFactory  , إذهب إلى القائمة الجانبية وبالتحديد إلى قسم الـ Actions .
2- إضغط على الأمر On Post Install .
3- عند ظهور شاشة الأمر On Post Install إلصق بداخله هذا السكربت الجاهز والذي يقوم بتسجيل الملف التنفيذي في الريجستري لكي يعمل كمسئول :

كود :
zVersionInfo = System.GetOSVersionInfo();

zMajorVersion= String.ToNumber(zVersionInfo.MajorVersion);

if (zMajorVersion > 5) then

  zAppFolder = SessionVar.Get("%AppFolder%");
 
  zLenAppFolder = String.Length(zAppFolder);
 
  zaSlash = String.Mid(zAppFolder, zLenAppFolder, 1);
 
  -- This Asc number 92 = \
  zSlashac = String.Char(92);

  if (zaSlash ~= zSlashac) then
     zAppFolder = zAppFolder..zSlashac;
  end
 
  zAppFolder = zAppFolder.."Project1.exe";
 
  Registry.SetValue(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers", zAppFolder, "RUNASADMIN", REG_SZ);
  Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers", zAppFolder, "RUNASADMIN", REG_SZ);
     
end

- قم بتغيير إسم الملف التنفيذي Project1.exe إلى إسم ملف برنامجك , طبعاً السكربت أولاً يفحص نوع نظام التشغيل الوندوز إذا كان أكبر من الإكس بي يعني أن يكون نظام التشغيل "فيستا" ومابعده في هذه الحالة فقط ينفذ السكربت لأن الإكس بي لايحتاج لذلك ولاتوجد فيه مفاتيح الريجستري الخاصة بتشغيل البرنامج كمسئول , جرب وإن شاء االله يضبط معك .
الرد
#5
اخي العزيز يمكنك ان تنصب البرنامج على اي درايف غير الC (نصبه عله درايف غير الدرايف الي عليه نظام التشغيل) ووقته راح يشتغل عندك بدون مشاكل وبدون الحاجه الى تشغيله كمسؤول
الرد
تم الشكر بواسطة: larbihamri , larbihamri , Ahmed_Mansoor , Ahmed_Mansoor
#6
الله يعطيكم العافيه
اعز معلمين :
1) Ahmed _Mansoor
2) sniper.ps 
3) myalsailamy
4) ahmedabdelaliem 
5) sendbad100
6)Amir_alzubidy

الرد
تم الشكر بواسطة: Ahmed_Mansoor , Ahmed_Mansoor , larbihamri
#7
(02-06-15, 12:47 AM)Ahmed_Mansoor كتب : السلام عليكم ورحمة الله وبركاته

أخي الكريم , إذا أردت أن تسجل الملف التنفيذي لبرنامجك ليعمل كمسئول  وذلك أثناء عملية التثبيت بالـ SetupFactory , قم بعمل الخطوات التالية :

1- بعد إضافة جميع ملفات التثبيت في قائمة الملفات في برنامج الـ SetupFactory  , إذهب إلى القائمة الجانبية وبالتحديد إلى قسم الـ Actions .
2- إضغط على الأمر On Post Install .
3- عند ظهور شاشة الأمر On Post Install إلصق بداخله هذا السكربت الجاهز والذي يقوم بتسجيل الملف التنفيذي في الريجستري لكي يعمل كمسئول :

كود :
zVersionInfo = System.GetOSVersionInfo();

zMajorVersion= String.ToNumber(zVersionInfo.MajorVersion);

if (zMajorVersion > 5) then

  zAppFolder = SessionVar.Get("%AppFolder%");
 
  zLenAppFolder = String.Length(zAppFolder);
 
  zaSlash = String.Mid(zAppFolder, zLenAppFolder, 1);
 
  -- This Asc number 92 = \
  zSlashac = String.Char(92);

  if (zaSlash ~= zSlashac) then
     zAppFolder = zAppFolder..zSlashac;
  end
 
  zAppFolder = zAppFolder.."Project1.exe";
 
  Registry.SetValue(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers", zAppFolder, "RUNASADMIN", REG_SZ);
  Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers", zAppFolder, "RUNASADMIN", REG_SZ);
     
end

- قم بتغيير إسم الملف التنفيذي Project1.exe إلى إسم ملف برنامجك , طبعاً السكربت أولاً يفحص نوع نظام التشغيل الوندوز إذا كان أكبر من الإكس بي يعني أن يكون نظام التشغيل "فيستا" ومابعده في هذه الحالة فقط ينفذ السكربت لأن الإكس بي لايحتاج لذلك ولاتوجد فيه مفاتيح الريجستري الخاصة بتشغيل البرنامج كمسئول , جرب وإن شاء االله يضبط معك .


الله يعطيك الف عافية ويحفظك من كل شر ويكتب اجرك  استاذ / احمد منصور

جربتها   طريقة ممتازة 
كنت ابحث عنها  من مدة
الرد
#8
بارك الله فيك
الرد
تم الشكر بواسطة: Ahmed_Mansoor



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


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