الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف اتخلي برنامجك يأقلع مع الويندوز

بدأه Dr_HUS في 12 يونيو 2003 · 4 رد · 1,557 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اترددت قبل ما حط الموضوع قلت ممكن تعرفونه كلكم .. لكن ممكن فيه شي جديد عليكم تابعو .......

uses
  Registry, {For Win32}
  IniFiles; {For Win 6}{$IFNDEF WIN32}
  const MAX_PATH =  44;
{$ENDIF}{For Win32}
procedure TForm .Button Click(Sender: TObject);
var
  reg: TRegistry;
begin
  reg := TRegistry.Create;
  reg.RootKey := HKEY_LOCAL_MACHINE;
  reg.LazyWrite := false;
  reg.OpenKey('SoftwareMicrosoftWindowsCurrentVersionRun',
              false);
  reg.WriteString('My App', Application.ExeName);
  reg.CloseKey;
  reg.free;
end;
{For Win 6}
procedure TForm .Button2Click(Sender: TObject);
var
  WinIni : TIniFile;
  WinIniFileName : array[0..MAX_PATH] of char;
  s : string;
begin
  GetWindowsDirectory(WinIniFileName, sizeof(WinIniFileName));
  StrCat(WinIniFileName, 'win.ini');
  WinIni := TIniFile.Create(WinIniFileName);
  s := WinIni.ReadString('windows',
                         'run',
                         '');
  if s = '' then
    s := Application.ExeName else
    s := s + ';' + Application.ExeName;
  WinIni.WriteString('windows',
                     'run',
                     s);
  WinIni.Free;
end;

هذا عشان كل اصدارات الويندوز لاحظ كويس ..

وهيك بتخلي برنامجك ياقلع مع الجهاز .. بس بأقلع وين بالرن كبرنامج

وطبعا في طريقة اخرى وال هي ان تجعل برنامجك ياقلع مع السيرفس بتاع الويندوزRunOnce h, RunServece

ولو عواز برنامج يأقلع مع المستدخدم الي نزل برنامجك فقط ..

بتستبدل

HKEY_LOCAL_MACHINE;

بي

HKEY_CURRENT_USER;

هلق في كتير طرق .. اخرى منها الواضح ومنها المبهم .. بس هاي الطريقة التقليدية ..............

وتقبلو تحياتييييييييييييي

تم تعديل هذه المشاركة بواسطة romanof في 9 مارس 2006 في 20:30

#2

شكرا جزيلا أخي ...

لا تتردد في اضافة كل ما تظن أننا يمكن أن نكون على علم به ..

فقد انتفعت شخصيا بمساهمتك .

(f)

#3

طب كتكملة للموضوع ... فوق الطريقة كتير واضحة لاضافة الرنامج للاقلاع .. لكن لو انتا عاوز انو تخلي المستخدم عندو حرية في اضافة برنامج للاقلاع او لاء..

لازم تكون بتعرف كيف تلغي برنامج من الاقلاع ..

طيب .. اول شي افتح الدلفي .. وحط فورم جديد عليه زرين

قبل كل شي لا تنسا اتضيف Registry باليوزز

procedure SetHUSAutoStart(CheckState : boolean);
const RunKey = 'SoftwareMicrosoftWindowsCurrentVersionRun';
var Registry : TRegistry;
begin
   Registry := TRegistry.Create;
   try
      Registry.RootKey := HKEY_LOCAL_MACHINE;
      if Registry.OpenKey(RunKey, FALSE) then begin
         case CheckState of
            FALSE : Registry.DeleteValue(Application.Title);
            TRUE  : Registry.WriteString(Application.Title, ParamStr(0));
         end;
      end;
   finally
      Registry.Free;
   end;

end;

وعلى الزر الاول خلي لاضافة البرنامج

SetHUSAutoStart (true);

والثاني لالغاء اقلاع البرنامج

SetHUSAutoStart (false);

بس هيك خلصة العملية طبق .. وروح على الريجستري شوف .. كيف بيتسجل برنامجك .. وكيف بيتحزف

طبعا ممكن في طرق احسن لكن هذا الي قدرنا عليه الله

وبنفس الالية ممكن انك تحزف اقلاع برنامج من اخر من الريجستري ..

مثلا النتي فايروس او الفير وول :D

ولو انو في طرق احسن حنتكلم عليها وال هيي برمجة AntiVirous Killer مثلا

بس بوقت لاحق بس نفضا شوي

بالمناسة التطبيق موجود ملف مرفق .. لو واجهتك مشاكل بالتطبيق

تحياتي الحارة

setautohus.zip

تم تعديل هذه المشاركة بواسطة romanof في 9 مارس 2006 في 20:31

#4

في خطاء بكتابة الكود :mad::mad::mad:.. الخطا من المنتدى مش عارف بس ما عم يظهر الباك سلاش

التوصب هو

SoftwareMicrosoftWindowsCurrentVersionRun

بدل

SoftwareMicrosoftWindowsCurrentVersionRun

ما اعرف .. ليه الخطا هذا مع البي اتش بي ..

معلش:rolleyes:

#5
1. Autostart folder



C:\windows\start menu\programs\startup {english} 



This Autostart Directory is saved in :



[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]

Startup="C:\windows\start menu\programs\startup"





[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]

Startup="C:\windows\start menu\programs\startup"





[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\User Shell Folders] 

"Common Startup"="C:\windows\start menu\programs\startup"





[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\Shell Folders]

"Common Startup"="C:\windows\start menu\programs\startup" 

By setting it to anything other then C:\windows\start menu\programs\startup will lead to execution of ALL and EVERY executable inside set directory.





2. Win.ini



[windows]

load=file.exe

run=file.exe 



3. System.ini 

[boot]

Shell=Explorer.exe file.exe 



4. c:\windows\winstart.bat 

'Note behaves like an usual BAT file. Used for copying deleting specific files. Autostarts everytime. 



5. Registry



[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices]

   "Whatever"="c:\runfolder\program.exe"



[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]

   "Whatever"="c:\runfolder\program.exe" 



[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]

   "Whatever"="c:\runfolder\program.exe" 



[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce] 

   "Whatever"="c:\runfolder\program.exe" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\000x]

   "RunMyApp"="||notepad.exe"

   The format is: "DllFileName|FunctionName|CommandLineArguements" -or- "||command parameters"



   Microsoft Windows 98 Microsoft

   Windows 2000 Professional

   Microsoft Windows 2000 Server 

   Microsoft Windows 2000 Advanced Server 

   Microsoft Windows Millennium Edition 



   http://support.microsoft.com/support/kb/articles/Q232/5/09.ASP







[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]

   "Whatever"="c:\runfolder\program.exe" 



[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]

   "Whatever"="c:\runfolder\program.exe"



6. c:\windows\wininit.ini  

'Often Used by Setup-Programs when the file exists it is run ONCE and then is deleted by windows 

Example content of wininit.ini :



[Rename]

NUL=c:\windows\picture.exe



' This example sends c:\windows\picture.exe to NUL, which means that it is being deleted. This requires no interactivity with the user and runs totaly stealth.



7. Autoexec.bat

Starts everytime at Dos Level.  



8. Registry Shell Spawning



[HKEY_CLASSES_ROOT\exefile\shell\open\command] @="%1" %* 

[HKEY_CLASSES_ROOT\comfile\shell\open\command] @="%1" %* 

[HKEY_CLASSES_ROOT\batfile\shell\open\command] @="%1" %* 

[HKEY_CLASSES_ROOT\htafile\Shell\Open\Command] @="%1" %* [HKEY_CLASSES_ROOT\piffile\shell\open\command] @="%1" %*



[HKEY_LOCAL_MACHINE\Software\CLASSES\batfile\shell\open\command] @="%1" %*

[HKEY_LOCAL_MACHINE\Software\CLASSES\comfile\shell\open\command] @="%1" %*

[HKEY_LOCAL_MACHINE\Software\CLASSES\exefile\shell\open\command] @="%1" %*

[HKEY_LOCAL_MACHINE\Software\CLASSES\htafile\Shell\Open\Command] @= "%1" %*

[HKEY_LOCAL_MACHINE\Software\CLASSES\piffile\shell\open\command] @="%1" %*



The key should have a value of Value <"%1" %*>, if this is changed to <server.exe "%1 %*">, the server.exe is executed EVERYTIME an exe/pif/com/bat/hta is executed.



Known as Unkown Starting Method and is currently used by Subseven.



9. Icq Inet



[HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Agent\Apps\test] 

"Path"="test.exe" 

"Startup"="c:\\test" 

"Parameters"="" 

"Enable"="Yes"



[HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Agent\Apps\

This key includes all the APPS which are executed IF ICQNET Detects an Internet Connection.  



10. Explorer start-up



Windows 95,98,ME

Explorer.exe ist started through a system.ini entry, the entry itself contains no path information so if c:\explorer.exe exist it will be started instead of c:\$winpath\explorer.exe.



Windows NT/2000

The Windows Shell is the familiar desktop that's used for interacting with Windows. During system startup, Windows NT 4.0 and Windows 2000 consult the "Shell" registry entry, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell, to determine the name of the executable that should be loaded as the Shell.

By default, this value specifies Explorer.exe. 



The problem has to do with the search order that occurs when system startup is in process. Whenever a registry entry specifies the name of a code module, but does it using a relative path, Windows initiates a search process to find the code. The search order is as follows: 



Search the current directory. 

If the code isn't found, search the directories specified in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path, in the order in which they are specified. 

If the code isn't found, search the directories specified in HKEY_CURRENT_USER\Environment\Path, in the order in which they are specified. 

More info : http://www.microsoft.com/technet/security/bulletin/fq00-052.asp 

Patch : http://www.microsoft.com/technet/support/kb.asp?ID=269049 

General : 

If a trojan installs itself as c:\explorer no run keys or other start-up entries are needed. If c:\explorer.exe is a corrupted file the user will be locked out of the system. Affects all windows version as of today.





10. Active-X Component

HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\KeyName

StubPath=C:\PathToFile\Filename.exe 

Believe it or not, this does start filename.exe BEFORE the shell and any other Program normaly started over the Run Keys.





Misc Information



[HKEY_LOCAL_MACHINE\Software\CLASSES\ShellScrap] @="Scrap object"

"NeverShowExt"="" 



The NeverShowExt key has the function to HIDE the real extension of the file (here) SHS. This means if you rename a file as "Girl.jpg.shs" it displays as "Girl.jpg" in all programs including Explorer.

Your registry should be full of NeverShowExt keys, simply delete the key to get the real extension to show up.

تم تعديل هذه المشاركة بواسطة romanof في 9 مارس 2008 في 14:51

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

مواضيع مشابهة