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

كيف يمكن معرفة إصدار الفيستا برمجيا ؟

مغلق
بدأه xhacker في 15 أغسطس 2007 · 31 رد · 1,898 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

كنت أعتقد أن هذا غير ممكن,. إلى أن رأيت برنامج يقول لى هذا Home Premium و هذا Ultimate

أى أفكار مبتكرة ؟

#2
#3

الموقع لا يفتح !

هل ممكن أن تقوم بإرفاق مشروع الفى بى هنا ؟

#4

تمكنت من الدخول للموقع

الفكرة قائمة على أستخدام الدالة الجديدة الموجودة بالنظام GetProductInfo().

و لا يوجد مثال لها فى الفى بى

الصفحة برمتها بالسى 2005

#5

صحيح هو مش VB بس مينفعش نقول كده ;) البرمجة فكرتها واحدة و أنت لو قريت الكود هتفهمه (الفكرة على الأقل) حتى لو كان أول كود C تشوفه.

الموضوع اللى فى الرابط ده هو أفضل موضوع أنكتب الى الآن عن سؤالك و مش هتلاقى زيه حتى على الـ MSDN , عموما أنت مش محتاج غير لأول صفحة , أكتب من الصور اللى فيه خوارزمية للتعرف على نوع النظام.

اقتباس
الفكرة قائمة على أستخدام الدالة الجديدة الموجودة بالنظام GetProductInfo().

خطأ , هو ذكرها للأضافة فقط , أما الموضوع قائم على :

Private Type OSVERSIONINFOEX
	dwOSVersionInfoSize As Long
	dwMajorVersion  As Long
	dwMinorVersion As Long
	dwBuildNumber As Long
	dwPlatformId As Long
	szCSDVersion As String * 128
	wServicePackMajor As Integer
	wServicePackMinor As Integer
	wSuiteMask As Integer
	wProductType As Byte
	wReserved As Byte
End Type

Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFOEX) As Long
#6

الموضوع لا يزال غامضا يا أخى :(

هلل ممكن أن تقوم بالمزيد من الإيضاح ياريت ؟

و أيضا, أى من الأعضاء هنا من الذين يعملون بالفيستا, ياريت المشاكرة لتجربة الكود حتى لو لم يكن لديهم الفى بى..يمكننا عمل المشرع و إرفاقه كود و ملف تنفيذى

#7

WINAPI GetProductInfo(

DWORD dwOSMajorVersion,

DWORD dwOSMinorVersion,

DWORD dwSpMajorVersion,

DWORD dwSpMinorVersion,

PDWORD pdwReturnedProductType

);

الدالة التى أنت اشرت إليها سابقا لا يمكنها الأتيان بنوع النظام الفرعى Enterprise أو Home و Ultimate على ما يبدوا !

#9

اخى ما تزعلش منى , لا أعتقد أنك قرأت كلمة بالموضوع و طلبت مننا الأيضاح , أقرأ الموضوع الأول.

اقتباس
الدالة التى أنت اشرت إليها سابقا لا يمكنها الأتيان بنوع النظام الفرعى Enterprise أو Home و Ultimate على ما يبدوا !

شوفت الصورة دى مع الدالة اللى فى ردى السابق ؟!

#10

أعتقد أنه يمكننى تحويل أستخدام هذه الدالة

أحتاج فقط إلى أحد الأعضاء العاملين بالفيستا لتجربها..

سأحاول الأن

#11

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

تم تعديل هذه المشاركة بواسطة xhacker في 16 أغسطس 2007 في 01:38

#12
اقتباس
ال Parameters و هما Product Type و Mask غير موجودين فى الدالة GetVersionEx

موةجودين فقط فىGetProductInfo و هى دالة وضعت بالفيستا و 2008 على ما قرأته من الموضوع..هل هذا خطأ ؟؟

أنا كتبت OSVERSIONINFOEX مش OSVERSIONINFO ;)

راجع المشاركة 5

تم تعديل هذه المشاركة بواسطة msayed2004 في 16 أغسطس 2007 في 01:40

#13

جارى العمل..

أحتاج فقط إلى من يختبر الكود..أنا واثق أننى على الطريق الصحيح الأن و قد قمت بمعرفة الثوابت المختلفة من خلال المقال للأنواع المختلفة

#14

قمت بعمل الموضوع

نقلت أغلب الثوابت..سوف أنقل الباقى و لكن حال تأكدى من نجح الملف المرفق..أرفقت السورس و الملف التنفيذى يمكن أختباره حتى من من ليس لديهم الفى بى

سؤال: الثابت 1B ماذا يساوى ب ال Long ؟

#15

أان بأنتظار نتائج التجريب على الفيستا ليمكننى إضافة باقى الثوابت و تصليح واجهة البرنامج.

#16

السلام عليكم

اخي الكريم انا عندي نظام تشغيل الفسيتا

سأحاول واجرب المثال واقولك

#17

الصورة هترد عليك

لاني مش فاهم الدوال قوي

واعتقد ان في مشكلة

مع ان النسخة المستخدمة

Microsoft Windows Vista Ultimate

post-106730-1187220765_thumb.jpg

#18

غريب جدا جدا

هل يمكن المساعدة يا شباب ؟

تم تعديل هذه المشاركة بواسطة xhacker في 16 أغسطس 2007 في 02:38

#19

اولا الشكر لله اخي الكريم

ثانيا:

في الصور دليلين بيوضحوا ان الويندوز Ultimate

post-106730-1187221377_thumb.jpg

post-106730-1187221395_thumb.jpg

#20

حسنا

ياريت تتابع الموضوع معانا, إلى أن نتمكن من حل المشكلة, التى أنا واثق أنها خطأ ما فى أستخدام الدالة, و ياريت حتى تجرب تعدلها بنفسك.

تم تعديل هذه المشاركة بواسطة xhacker في 16 أغسطس 2007 في 02:48

#21

متابع معكم ان شاء الله اخي الكريم

#22

الكود خطأ , ناقص :

retvar.dwOSVersionInfoSize = Len(retvar)
#23

الكود المعدل مرفق

بأنتظار النتائج :)

تم تعديل هذه المشاركة بواسطة xhacker في 16 أغسطس 2007 في 03:50

#24

تعرف على الدالة قبل أستعمالها :angry:

retvar.dwOSVersionInfoSize = Len(retvar)

قبل

GetVersionEx retvar

تم تعديل هذه المشاركة بواسطة msayed2004 في 16 أغسطس 2007 في 03:50

#25

ايه الحل النهائي علشان داخل علي الفسيتا؟؟

هذا الموضوع مغلق.

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