ورود

نسخه کامل مشاهده نسخه کامل : script نویسی



winxp
20-01-2008, 21:27
سلام عزیزان

مقاله در مورد این جور script نویسی میخوام


[Version]
Signature=$CHICAGO$
[DefaultInstall]
AddReg=Add.Settings
[Add.Settings]
HKCR,Winamp.File\shell\open\command,,0,"wm player.exe"
HKCR,wmafile\shell\open\command,,0,"wmplay er.exe"
HKCR,wmafile\shell\play\command,,0,"wmplay er.exe"
HKCR,wmafile\shell\play\command,,0,"wmplay er.exe"
HKCR,3gp_auto_file\shell\play\command,,0," wmplayer.exe"
HKCR,3gp_auto_file\shell\play\command,,0," wmplayer.exe"


ممنون و موفق باشید :11:

omid.sarmad
21-01-2008, 18:46
سلام.
این اسکریپت و اسکریپتهای از این نوع مربوط به رابط برنامه نویسی ویندوزه که برای اسکریپت نویسی نصب از اون استفاده میشه.
تقریبا تمام اعمال نصب و راه اندازی درایورها و برنامه کاربردی رو میشه با اسکریپتهای از این نوع (فایلهای INF) انجام داد.
نمونه بالا تنها یه مثال ساده برای ایجاد کلیدها و مقایر رجیستریه.حتی می توان برای فایلهای INF در Add\Remove ایجاد آیتم کرد تا کاربران بتونند اون اسکریپت (یعنی تغییراتش) رو حذف کنند.
فایلهای INF ساختاری دقیقا مشابه فایلهای INI دارند.برای شروع کار،با یه مثال که مقادیری رو تو یه رجیستری ایجاد یا تغییر میده شروع می کنیم.
[Version]
Signature=$CHICAGO$
[DefaultInstall]
AddReg=Add.Settings
[Add.Settings]
HKCR,regfile\shell,,0,"edit"
قسمتهایی که داخل [] نوشته میشن اسشمون [Section] هست.این بخشها باید تو تمام فایلهای INF و یا فایلهای مشابه وجود داشته باشند.
Section اول برای تمام فایلهای version] ، INF] است.این بخش الزامیه.
هر Section از یک یا چند مقدار تشکیل میشه.که ه این صورت نوشته میشه.
مقدار Signature=$CHICAGO$ هم برای Section فوق الزامیه.$CHICAGO اسم کدیه که مایکروسافت برای شناسایی دستور و همخوانی اون با ویندوز قرار داده.
این مقدار می تونه متغیر هم باشه.مثلا برای نسخه های 16 بیتی ویندوز می تونید مقدار فوق رو به صورت زیر بنویسید.
Signature=$Windows 95$
برای محدود کردن فایلهای INF به نسخه های 32 بیتی می تونید مقدار فوق رو به صورت زیر بنویسید.
Signature=$Windows NT$
البته معمولا از مقدار Signature=$CHICAGO$ و برای سازگاری فایل با تام نسخه های ویندوز استفاده می کنند.
پس دو خط اول همیشه میشه:
[Version]
Signature=$CHICAGO$
Section های دیگر بسته به نیاز اسکریپت نویس اختیاریه.
مثلا برای نصب یا کپی یک یا چند فایل،ایجاد و تغییر مقادیر رجیستری و مقادیر مشابه از این Section استفاده میشه.[DefaultInstall]
این section هم از مقادیر دیگری تشکیل میشه.مثلا برای ایجاد یا تغییر مقادیر رجیستری از AddReg استفاده میشه.
ارزش این مقدار اختیاری ولی معمولا از کلمات با معنی و مرتبط استفاده میشه.مثلا
Add.Settingsولی میشه از هر کلمه ی دیگه ای هم استفاده کرد.
ارزش این مقدار باید یه Section جدید با نام مشابه ارزش،تشکیل بده.مثلا :
[DefaultInstall]
AddReg=Add.Settings
[Add.Settings]
یا
[DefaultInstall]
AddReg=Reg.Set
[Reg.Set]
این section شامل تمام مقادیری میشه که می خواهید تو رجیستری ایجاد یا تنظیم بشه.
ساختار کلی دستور به این صورته:
ROOTKET,SUBKEY,VALUE,FLAGS,DATA
ROOTKEY اسم کلید ریشه ای است که می خواهید تغییرات تو انو اعمال بشه.
مثله :
HKCR
HKCU
HKLM
HKU
SUBKEY مجموعه ی زیر کلیدهای کلید انتخابی هست.زیر کلیدهای مشتق با \ از هم جدا میشن.
مثله :
Software\microsoft\windows
VALUE اسم مقداری هست که می خواهید اونو ایجاد کنید یا تغییر بدید.اگه از این پارامتر استفاده نکنید و اون خالی بزارید بدین معنی هست که مقدار پیش فرض (Default) هدف شما است.
همچنین اگر از مقادیر بعدی هم استفاده نکنید تنها یک کلید خام ایجاد خواهد شد.به عنوان مثال دستور زیر یک کلید با نام Shell و در شاخه HKLM\Software\Windows\Explorer ایجاد می کند.
[Version]
Signature=$CHICAGO$
[DefaultInstall]
AddReg=Add.Settings
[Add.Settings]
HKLM,Software\Windows\Explorer\shell
FLAGS نوع یک مقدار را مشخص می کند.مقادیر به صورت زیر تعیین میشوند.
0x00000 = REG_SZ
0x00001 = REG_BINARY
0x10000 = REG_MULTI_SZ
0x20000 = REG_EXPAND_SZ
0x10001 = REG_DWORD
0x20001 = REG_NONE
البته مقدار FLAGS شامل ترکیبهای پیچیده ای بیتی نیز می تواند باشد،مثلا محدود کردن تغییرات به نسخه های 32 بیتی و یا 64 بیتی، عدم بازنویسی مقادیر در صورت وجود و ... نیز هست.
DATA داده یا ارزشی است که می خواهید در یک مقدار نوشته یا باز نویسی شود.
مثال زیر مقدار RegisteredOwner و RegisteredOrganization رو از کلید HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion تغییر میده.
این دو مقدار در واقع نام و نام سازمان رو که هنگام نصب ویندوز انتخاب می کنیم تغییر میده.
[Version]
Signature=$CHICAGO$
[DefaultInstall]
AddReg=Add.Settings
[Add.Settings]
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion,RegisteredOwner,0,"Omid"
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion,RegisteredOrganization,0,"Sarmad"
بهروز جان تایپ و سرهم بندی اینا یه کم وقتگیره،بقیشم سر وقت برات می زارم.شرمنده دیگه.
یه نکته ی دیگرم بگه بد نیست.می تونی تو اسکریپت از توضیح هم استفاده کنی.مثلا بالای هر دستور بنویسی که اینچیکار می کنه.
البته قبل از توضیح باید از ; استفاده کنی.
همچنین اگه توضیحاتت سطر آخر بود می تونی از -- هم استفاده کنی.
مثلا :
[Version]
Signature=$CHICAGO$
[DefaultInstall]
AddReg=Add.Settings
[Add.Settings]
; List individual registry values to exclude.
; Same as [ExcludeIndividualRegistryKeys] but excludes only specific named
; value, not subkeys.
; Syntax is key\valuename.
; Wildcards are not supported.
; Name can be blank to denote the default value (use a trailing backslash).
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion,RegisteredOwner,0,"Omid"
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion,RegisteredOrganization,0,"Sarmad"
--This Script Created By Omid Sarmad
این توضیحات فقط برای کاربر نهایی نیست بلکه برای اینکه خودمون هم بدونیم چیکار کردیم و نیاز به چک کردن کل اسکریپت نباشه استفاده میشه.
:10:

winxp
22-01-2008, 13:48
سلام امید جان

ممنون عزیزم
ولی هنوز بچه خوبی نشدی

میرم بخونم ببینم چی سرم میشه

موفق باشی

omid.sarmad
22-01-2008, 13:55
سلام امید جان

ممنون عزیزم
ولی هنوز بچه خوبی نشدی

میرم بخونم ببینم چی سرم میشه

موفق باشی
خیلی بدی ......