PDA

View Full Version : سوال: روش دريافت اطلاعات scanner?



saeidi.yusuf
یک شنبه 07 شهریور 1389, 12:37 عصر
دوستان من روي برنامه اي كار مي كنم اطلاعات سخت افزاري سيستم رو ذخيره مي كنه.در حال حاضر من تمام اطلاعات سخت افزاري سيستم و مي تونم دربيارم ولي اطلاعات sanner رو نميتونم در بيارم.
من مي تونم اين اطلاعات رو از Win32_PnPEntity در wmi دريافت كنم .اين table از wmi روي سيستم من 189 تا entity پيدا كرد ولي من نميتونم طوري فيلترش كنم كه فقط طلاعات scanner رو ا بده.
ممنون ميشم اگه راهنماييم كنيد.

saeidi.yusuf
سه شنبه 09 شهریور 1389, 09:55 صبح
يعني واقعا كسي راهي براي دريافت اطلاعات scaner نمي دونه؟
اگه سوالم و تو جاي ديگه اي بايد مطرح كنم بگيد.

dokhmal
یک شنبه 14 شهریور 1389, 10:40 صبح
سلام من جوابی برای سوالتون ندارم اما خودم یک سوال ازتون دارم سوال که نه منظورم راهنماییه :چشمک:
در مورد اینکه چطور میشه اطلاعات سخت افزاریه سیستم رو در آورد میشه لطفا کمکم کنید
و بگید چه کدهایی رو باید بنویسم خیلیییی ممنون:لبخندساده:

saeidi.yusuf
یک شنبه 14 شهریور 1389, 13:49 عصر
دوست عزيز سلام.من اطلاعي از سطح برنامه نويسي شما ندارم اميدوارام بتونم كمكتون كنم.
در ويندوز جداولي وجود دارند كه اطلاعات سخت افزاري سيستم و نگهداري مي كنند.اين اطلاعات هم شامل سخت افزار هاي نصب شده و هم شامل سخت افزار هايي است كه احتياجي به نصب ندارند.
براي استفاده از اين جداول در C#‎‎‎ من از روش زير استفاده ميكنم كه معمولا هم از اين روش استفاده مي شود.
اول اين فضاي كاري رو اضافه كنيد:


using System.Management;

حالا مي تونيد با استفاده از متدد هاي اين كلاس به wmi كه همون جداول گفته شده در بالاست دسترسي داشته باشين.كد زير اطلاعات Name , SocketDesignation,CurrentClockSpeed,L2CacheSize سي پي يو رو به شما مي ده:


ManagementClass mgmCpuInfo = new ManagementClass("Win32_Processor");
ManagementObjectCollection cpuInfos = mgmCpuInfo.GetInstances();
foreach (ManagementObject cpuInfo in cpuInfos)
{


string cpuName = cpuInfo.Properties["Name"].Value.ToString();
string cpuSocket = cpuInfo.Properties["SocketDesignation"].Value.ToString();
string cpuSpeed = cpuInfo.Properties["CurrentClockSpeed"].Value.ToString();
string cpuCacheL2 = cpuInfo.Properties["L2CacheSize"].Value.ToString()


}


win32_processor جدولي يه كه اطلاعات cpu و پردازنده ها رو نگهداري ميكنه.اين جدول نزديك 30 تا از مشخصات cpu رو نگه ميداره.
براي هر سخت افزار ديگه اي هم كه شما ميشناسيد(بجز scaner) يه جدول هست.
اطلاعات مربوط به هر جدول رو مي تونيد تو اين صفحهhttp://msdn.microsoft.com/en-us/library/aa389273(v=VS.85).aspx ببينيد فقط چند تا نكته مي مونه:
1.WMI فقط اطلاعات سخت افزاري رو نگه نمي داره بلكه تقريبا هر چيزي كه سيستم عامل لازم داره توش هست.
2.بعضي ازdevice ها اگه نصب نشده باشند اطلاعاتشون رو ناقص دريافت ميكني مثل مانيتور.
3.فقط تو سيستم عامل windows مي توني ازش كمك بگيري.
4.بعضي اطاعات رو يه سري از windows ها ندارند كه تو site بالا مي توني ببيني.MidNumLet;$BackNumericEx =

saeidi.yusuf
یک شنبه 14 شهریور 1389, 13:56 عصر
واقعا جاي تعجبه كه هيچ كس تو اينترنت چه تو ايران و چه خارج از اون نمي دونه مشخصات scaner يا كلا device هايي مثل اون و چه طور مي شه دراورد!!!!!!!!!!!!!!!!!!!!!!

dokhmal
دوشنبه 15 شهریور 1389, 12:52 عصر
ممنون خیلی کمک کردید

saeidi.yusuf
یک شنبه 28 شهریور 1389, 14:23 عصر
واقعا جاي تعجبه كه هيچ كس تو اينترنت چه تو ايران و چه خارج از اون نمي دونه مشخصات scaner يا كلا device هايي مثل اون و چه طور مي شه دراورد!!!!!!!!!!!!!!!!!!!!!!


نمی دونم چی بگم.لا اقل اگه جواب این سوال و نمی دونید یه راهنمایی کنید بگیداز گجا می تونم جواب سوالم پیدا کنم خودم برم دنبالش.