تشخیص نوع ویندوز قبل از نصب برنامه!!!

majideptp

Member
دوست خوبم سلام

من دنبال این دستور هستم (تشخیص نوع ویندوز قبل از نصب برنامه!!!)

توضیح اینکه: زمانی که کاربر install رو میزنه اول مشخص بشه ویندوز کاربر چیه و بر اساس اون برنامهمورد نیاز رو نصب کنه.

ببینید الان اینجوریه: نوشته شده
اگه ویندوز شما xp هست اینجا رو کلیک کنید.
اگه ویندوز شما 7 یا wista اینجا رو کلیک کنید.

حالا من میخوام بجای دو گزینه یک گزینه باشه (نصب برنامه - کلیک کنید). بعد از کلیک چک کنه ویندوز اگه xp بود فایلهای مربوط به اونو نصب کنه اگه 7 یا wista بود فایلهای مربوط به اون.
----
ممنونم
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
کد:
WinVer$ = [color=#000090][b]WinVer[/b][/color]() 
Major = [color=#000090][b]VAL[/b][/color]([color=#000090][b]GetArrayItem[/b][/color](WinVer$,.,[color=#ff0000]1[/color])) 
Minor = [color=#000090][b]VAL[/b][/color]([color=#000090][b]GetArrayItem[/b][/color](WinVer$,.,[color=#ff0000]2[/color])) 
[color=#0000FF]If[/color] (Major = [color=#ff0000]5[/color] & Minor = [color=#ff0000]1[/color]) [color=#0000FF]Then[/color] 
  [color=#009000]**// XP[/color] 
  [color=#009000]**// Your Codes[/color] 
  [color=#000090][b]Return[/b][/color]() 
[color=#0000FF]End[/color] 
[color=#0000FF]If[/color] (Major = [color=#ff0000]6[/color]) [color=#0000FF]Then[/color] 
  [color=#009000]**// Vista and above[/color] 
  [color=#009000]**// Your Codes[/color] 
  [color=#000090][b]Return[/b][/color]() 
[color=#0000FF]End[/color]


این لینک رو هم ببینید: http://www.msigeek.com/442/windows-os-version-numbers
 

majideptp

Member
کد:
WinVer$ = [color=#000090][b]WinVer[/b][/color]() 
Major = [color=#000090][b]VAL[/b][/color]([color=#000090][b]GetArrayItem[/b][/color](WinVer$,.,[color=#ff0000]1[/color])) 
Minor = [color=#000090][b]VAL[/b][/color]([color=#000090][b]GetArrayItem[/b][/color](WinVer$,.,[color=#ff0000]2[/color])) 
[color=#0000FF]If[/color] (Major = [color=#ff0000]5[/color] & Minor = [color=#ff0000]1[/color]) [color=#0000FF]Then[/color] 
  [color=#009000]**// XP[/color] 
  [color=#009000]**// Your Codes[/color] 
  [color=#000090][b]Return[/b][/color]() 
[color=#0000FF]End[/color] 
[color=#0000FF]If[/color] (Major = [color=#ff0000]6[/color]) [color=#0000FF]Then[/color] 
  [color=#009000]**// Vista and above[/color] 
  [color=#009000]**// Your Codes[/color] 
  [color=#000090][b]Return[/b][/color]() 
[color=#0000FF]End[/color]


این لینک رو هم ببینید: http://www.msigeek.com/442/windows-os-version-numbers


دوست خوبم سلام
بینهایت ممنون
اما اگه امکان داره راهنمایی کن که تغییراتی که من باید بدم چیه؟
و اینکه آیا باید ورژن ویندوز هم مشخص کنم؟ اگه اینجوری باشه که سخت میشه. نه؟
من فقط میخواستم اگه xp بود یه دستور run بشه اگه seven or vista بود یه دستور دیگه run بشه.
توی این دستور لینک های من کجا قرار میگیره؟
حرفه ای نیستم. عذرخواهی.
 

MahmoodM30

مدیر <A href="http://forum.majidonline.com/forums/
دوست خوبم سلام
بینهایت ممنون
اما اگه امکان داره راهنمایی کن که تغییراتی که من باید بدم چیه؟
و اینکه آیا باید ورژن ویندوز هم مشخص کنم؟ اگه اینجوری باشه که سخت میشه. نه؟
من فقط میخواستم اگه xp بود یه دستور run بشه اگه seven or vista بود یه دستور دیگه run بشه.
توی این دستور لینک های من کجا قرار میگیره؟
حرفه ای نیستم. عذرخواهی.
توي قسمت هاي سبز رنگ بايد بنويسيد كاملا واضح هست
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
در خط اول توسط تابع WinVer ورژن ویندوز رو بدست میاریم که فرمتش مثل همونی هست که تو لینکی که گذاشتم واسه هر نسخه از ویندوز مشخص کرده، مثلا 5.1.2600 (برای XP)

چون این عدد عا با کاراکتر نقطه از هم جدا شدن، در خط دوم عدد اول (در مثال بالا عدد 5) که Major Version نامیده میشه رو جدا کردیم (که خانواده ی محصول رو مشخص میکنه) و در خط سوم Minor Version رو (در مثال بالا عدد 1)
دلیلش هم این هست که ممکنه Build Number (همون عدد 2600 در مثال بالا) برای نسخه های مختلف از ویندوز مثلاً XP متفاوت باشه (شاید هم نباشه، اما این روش قابلیت تطبیق بهتری داره)

بعد هم دوتا شرط هست که ورژن ها رو چک میکنه
اگر فقط XP و Vista - Seven رو نیاز دارید که همون شرط کفایت میکنه، کدها رو همونطور که محمود اشاره کردن؛ در قسمت سبز رنگ و درون شرط بنویسید.
توجه کنید که من در انتهای شرط از دستور Return استفاده کردم که باعث میشه خط های بعدی اجرا نشن، یعنی اگه ویندوز XP بود نیاز نیست برای Vista هم چک بشه، بنابراین هر دستوری بعد از هرکدوم از Return ها بنویسید اجرا نمیشن (مگر اینکه هیچکدوم از دو شرط برقرار نشن)
 

جدیدترین ارسال ها

بالا