وقتی یک برنامه را در رجیستری با دلفی برای اجرا شدن در هنگام بالا آمدن ویندوز قرار می دهیم در Safe mode اجرا نمی شود . برای اجرای خودکار در حالت Safe mode چه تنظیماتی در رجیستری باید انجام داد
ممنون از راهنمایی
وقتی یک برنامه را در رجیستری با دلفی برای اجرا شدن در هنگام بالا آمدن ویندوز قرار می دهیم در Safe mode اجرا نمی شود . برای اجرای خودکار در حالت Safe mode چه تنظیماتی در رجیستری باید انجام داد
ممنون از راهنمایی
تو کدوم روت میزاری.hklm یا hkcu?
طبیعی هست که نباید با Safe Mode بالا بیاد. اگر قرار بود برنامه های متفرقه هم با ویندوز در زمان Safe Mode بالا بیان، دیگه اسمش Safe Mode نبود! در Safe Mode فقط درایورهای سخت افزاری و اجزای ویندوزی که برای اجرای ویندوز لازم هستند، لود میشند. مابقی درایورها، اجزای ویندوز و برنامه های متفرقه غیرفعال میشند.
وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.
برنامه ها در safe mode اجرا و خود به خود هم بالا میان بستگی داره کجای رجیستری اضافه بشن
من در این مسیر با این سورس کد می زارم ولی در safe mode بالا نمی یاد :
Var
R:TRegistry;
begin
R:=TRegistry.Create;
R.RootKey:=HKEY_LOCAL_MACHINE;
R.OpenKey('SoftWare\Microsoft\Windows\CurrentVersi on\Run',True);
Try
R.WriteString('ProgramName',Application.ExeName);
Except
ShowMessage('Error')
End;
R.CloseKey;
R.Free;
End;
قبلا گفتم؛ خیریعنی راهی وجود ندارد
وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.
مسیر هایی که موقع اجرای ویندوز در حالت safe mode استفاده می شه :
برای توضیح هرکدوم از کلید ها می تونی ازMSDN استفاده کنی ولی کلیدی که می خواین APPMGMT است.
HKEY_LOCAL_MACHINE\SYSTEM\CONTROLSET00x(1,2,3)\CON TROL\SAFEBOOT\MINIMAL\
یه راه دیگه ولی کاملا اون کاری که می خوای نیست.
برنامه رو تو کلید SELL از زیر شاخه WINLOGON اضافه کن
فقط شدیدا مراقب باشین. دستکاری این شاخه ها ممکنه ویندوز شما رو کاملا خراب کنه
چرا عادت کردیم همه چیز رو غول کنیم؟ مگه ویندوز هوشمنده که خودش تشخیص بده چی لازمه چی نیست؟در Safe Mode فقط درایورهای سخت افزاری و اجزای ویندوزی که برای اجرای ویندوز لازم هستند، لود میشند.
آقای کشاورز دمت گرم داشتی ناامیدم می کردی . آقای مرتضی کیایی ممنون از راهنمایی من کد را به صورت پایین استفاده کردم ولی در Safe mode اجرا نمی شه میشه بررسی کنید و در صورت ممکن درستش را برام بنویسید :
ممنون می شوم
procedure TForm1.Button1Click(Sender: TObject);
Var
R:TRegistry;
begin
R:=TRegistry.Create;
R.RootKey:=HKEY_LOCAL_MACHINE;
R.OpenKey('SYSTEM\CONTROLSET001\CONTROL\SAFEBOOT\M INIMAL\APPMGMT',True);
Try
R.WriteString('ProgramName',Application.ExeName);
Except
ShowMessage('Error')
End;
R.CloseKey;
R.Free;
end;
متاسفانه الان سرم شلوغه. تو هفته بعد یه سورس کامل همراه با توضیحات براتون می ذارم
ممنون منتظرم هستم فقط یادتون نره
من همین کد رو تست کردم موفق بود. برنامه تون رو path اضافه می کنین؟
Application.exename هم مسير و هم نام فايل را بر مي گردونه
امكان داره كدي را كه شما استفاده كرده ايد را بگذاريد
با سلام
فقط کافیه در مسیر زیر فایلتون رو بزارید دقیقا در safe mode اجرا میشه
[\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Shell"="Explorer.exe,program.exe"
به جای program.exe مسیر و نام برنامتون رو بنویسید.
و یه جای دیگه
در مسیر بالا اما به جای استرینگ زیر
"Userinit"="C:\\WINDOWS\\system32\\userinit.exe,pr ogram.exe"
اگه فایلتو به جای یکی از اجزای اصلی ویندوز مثل Userinit قرار بدی از هر جایی که ویندوز را بالا بیاری میشه فقط باید یک دکمه در برنامه قرار بدی که بعد از کلیک روی آن Userinit لود بشه
اگه فایل Userinit لود نشه اصلا ویندوز بالا نمیاد.
و فقط در همین مسیر داخل ریجستری فراخوانی میشه.
Userinit"="C:\\WINDOWS\\system32\\userinit.exe
آقای دلفی 7 من منظورم اینه که برنامه قبل از اجرای ویندوز با Group policy در هنگام WElcome لود بشه
آخه عزیزم اگه برنامه شما تحت ویندوز باشه چطور قبل از اجرای ویندوز فراخوانی میشه؟
عزیز وقتی Userinit لود نشه سرویسهایی که برای Run کردن برنامه لازمند لود شدن وبرخی اجزای ویندوز مثل Explorer.exe لود نشدن و سرویس هایی که مال ویندوز نیستندخودتون هم می دونید موقع خاموش کردن رایانه میشه برنامه اجرا کرد چه برسه موقع Welcome