اشکال در پیداکردن سریال هارد و مقایسه دو رشته در ویندوز XP
سلام.
خسته نباشید.
من یه قطعه کد با سی شارپ 2008 برای فعال سازی برنامه نوشتم که دوقسمتش اینه:
قسمت اول سریال هارد دیسک رو میخونه (با استفاده از تابع زیر: )
کد:
public string GetHDDSerial(){ ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia"); foreach (ManagementObject wmi_HD in searcher.Get()) { // get the hardware serial no. if (wmi_HD["SerialNumber"] != null) return wmi_HD["SerialNumber"].ToString(); } return string.Empty;}
قسمت دوم: هم دوتا رشته رو با هم مقایسه میکنه:
کد:
string.compare(x1,x2)
این دو تا قسمت تو ویندوز 7 درست عمل میکنن اما تو ویندوز xp قسمت اول string.empty بر می گردونه و قسمت دوم هم در هر صورت جواب می ده که دو تا رشته با هم فرق دارن.
باید چکار کنم؟
(عذر خواهی می کنم در عنوان پست نوشته ام: ویندوز 98 اما xp درسته.)
ممنون میشم از لطفتون.