PDA

View Full Version : ادرس ویندوز نوع ویندوز



taze kar
شنبه 23 خرداد 1383, 10:53 صبح
می شه لطف کنید ویه تابع بگید که میسر ویندوز رو پیداکنه

یا حداقل یه راهنمایی کوچولو

درضمن چه جوری میشه فهمید که روی سیستم کدوم ویندوز فعاله

یعنی مثلا منی که 2 تا ویندوز دارم بارنامه تشخیص بده که کدوم ویندوز در حال کار کردن


ممنون

سیدهانی
یک شنبه 24 خرداد 1383, 23:11 عصر
به نام حق
سلام ... برای بدست آوردن آدرس ویندوز با استفاده از توابع جستجوی فایل در path می تونی بدستش بیاری ... که نحوه نگارشش اینطور هست :
char *searchpath(char *fname); // fname -> name of file -> win.com
که مسیر رو بهت می ده ... البته برای ویندوزهای NT بهتر هست که مثلا دنبال
regedit.exe و اینها بگردی تا مسیر رو بهت بده ...
در مورد فعال بودنش که کدوم ویندوز فعال هست ... برای ویندوزهای 98 (مثلا یکی دوتا 98) که مسیر خودش اینو بهت می گه (چون هرکدومشون که بیان بالا مسیر خودشون رو تو path می ذارن) و برای ویندوزهای nt راستش چیزی به ذهنم نمی رسه ... بین یک ویندوز nt و 98 هم که می تونی از همون چیزی که بین ویندوزهای 98 گفتم استفاده کنی
موفق باشی

taze kar
دوشنبه 25 خرداد 1383, 10:51 صبح
آقا ممنون

یه راه واسه نوع ویندوز به ذهنم رسیده که چک کردن فایل system.ini

اگه کلمه shell داشت معلوم میشه ویندوز 98/me/2k وا اگه نداشت میشه xp

از کمکتون تاز هم ممنونم

Anti_Evil
دوشنبه 25 خرداد 1383, 17:29 عصر
برای گرفتن شاخه ویندوز:


UINT GetWindowsDirectory(
LPTSTR lpBuffer,
UINT uSize
);

برای گرفتن نسخه نصب شده ویندوز:


DWORD GetVersion(void);

برای گرفتن اطلاعات بیشتر از MSDN استفاده کنید.

موفق باشید،
هادی

taze kar
چهارشنبه 27 خرداد 1383, 01:26 صبح
اقا دستتون درد نکنه ولی می شه یه نمه همچین بیشتر توضیح بدین :oops:

Viper_MFC
چهارشنبه 27 خرداد 1383, 11:01 صبح
دوست عزیز می توانید از کد زیر استفاده کنید

#ifdef UNICODE
TCHAR WinDir[256];
#else if
TCHAR WinDir[512];
#endif
GetWindowsDirectory(WinDir,sizeof(WinDir));



TCHAR *WinVerName;
OSVERSIONINFO osv;
osv.dwOSVersionInfoSize=sizeof(osv);
GetVersionEx(&osv);


switch(osv.dwPlatformId){
case VER_PLATFORM_WIN32_WINDOWS:
if(osv.dwMinorVersion==0)
WinVerName="MS Windows 95";
else if(osv.dwMinorVersion==10)
WinVerName="MS Windows 98";
else if(osv.dwMinorVersion==90)
WinVerName="MS Window ME";
break;

case VER_PLATFORM_WIN32_NT:
if(osv.dwMinorVersion==51)
WinVerName="MS Windows NT 3.51";
else if(osv.dwMinorVersion==1)
WinVerName="MS Windows XP";
else if(osv.dwMinorVersion==2)
WinVerName="MS Windows XP Server 2003";
else if(osv.dwMinorVersion==4 && osv.dwMajorVersion==4)
WinVerName="MS Windows NT 4";
else if(osv.dwMajorVersion==4 && osv.dwMajorVersion==5)
WinVerName="MS Windows 2000";
break;

}

موفق باشید :)

Inprise
چهارشنبه 27 خرداد 1383, 13:01 عصر
لازم به ذکره برای استفاده از توابع و انواعی که دوستان نوشتند باید از هدر Windows.h استفاده کنی .