PDA

View Full Version : برنامه نویسی low level در سی شارپ



Saied System
چهارشنبه 21 آبان 1382, 20:58 عصر
آیا در c# مانند c میتوان برنامه نویسی سطح پائین انجام داد مثلا برنامه ای بنویسیم که mac address یک کارت شبکه را نمایش بده فکر کنم با جاوا بشه ولی با سی شارپ نمیدونم اگه میشه این کار را کرد لطفا توضیح بدید چطوری؟

Vahid_Nasiri
چهارشنبه 21 آبان 1382, 21:22 عصر
بله. کلا دست و بال سی شارپ از جاوا باز تر است. :wink:
یک مثال ساده : بدلایل امنیتی پوینتر ها از جاوا حذف شده است اما در سی شارپ به صورت unmanaged code قابل دسترسی و استفاده هستند.

با سی شارپ:


ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration") ;

ManagementObjectCollection queryCollection = query.Get();

foreach( ManagementObject mo in queryCollection )
{
MessageBox.Show(mo["MacAddress"].ToString());
// Print MAC address
}

و یا :


ManagementObjectSearcher query = null;
ManagementObjectCollection queryCollection = null;

try
{
query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration") ;

queryCollection = query.Get();

foreach( ManagementObject mo in queryCollection )
{
if(mo["MacAddress"] != null)
{
Console.WriteLine(mo["MacAddress"].ToString());
}
}
}
catch(Exception ex)
{
Console.WriteLine(ex.Source);
Console.WriteLine(ex.Message);
}

مرجع :
http://www.csharpfriends.com/Forums/ShowPost.aspx?PostID=7188

بدست آوردن مک ادرس با وی بی دات نت :
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=391&lngWId=10

trueman
چهارشنبه 02 فروردین 1385, 14:57 عصر
ببخشید می خواستم بدونم برای کار با مودم توی #C کی اطلاعات داره .
می دونم از طریق AT Command ها می شه و برای این کار باید یک سری اطلاعات به پورت مودم مثلا (com3) بصورت سریال بریزیم . راستش کارهای ابتداییشو بلدم مثلا شماره گیری . در واقع می خواستم بدونم کسی یه کم پیشرفته تر بلده؟ مثلا اینکه بتونی یه کاری بکنی موقع شماره گیری ، یک شماره دلخواه تو callerID ی طرف مقابل بیفته یا اصلا چیزی نیفته.

رهنورد2
شنبه 29 مهر 1385, 09:52 صبح
با این کارمیشه مثلا برای بازیها که احتیاج به سرعت بالا دارن استفاده کرد به جای c++
اگر میشه چرا در تجارت وحرفه ای ها نمی کنند

zahra_mehr
چهارشنبه 09 آذر 1390, 15:24 عصر
بله. کلا دست و بال سی شارپ از جاوا باز تر است. :wink:
یک مثال ساده : بدلایل امنیتی پوینتر ها از جاوا حذف شده است اما در سی شارپ به صورت unmanaged code قابل دسترسی و استفاده هستند.

با سی شارپ:


ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration") ;

ManagementObjectCollection queryCollection = query.Get();

foreach( ManagementObject mo in queryCollection )
{
MessageBox.Show(mo["MacAddress"].ToString());
// Print MAC address
}

و یا :


ManagementObjectSearcher query = null;
ManagementObjectCollection queryCollection = null;

try
{
query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration") ;

queryCollection = query.Get();

foreach( ManagementObject mo in queryCollection )
{
if(mo["MacAddress"] != null)
{
Console.WriteLine(mo["MacAddress"].ToString());
}
}
}
catch(Exception ex)
{
Console.WriteLine(ex.Source);
Console.WriteLine(ex.Message);
}

مرجع :
http://www.csharpfriends.com/Forums/ShowPost.aspx?PostID=7188

بدست آوردن مک ادرس با وی بی دات نت :
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=391&lngWId=10

برای ویندوزهای 64 بیتی چه طور؟ من میخوام اطلاعات یه usb رو به صورت sector level بخونم، ولی چیزی پیدا نکردم. میخوام در هر ویندوزی جواب بده!
ممنون