PDA

View Full Version : چطوری میشه از توابع API استفاده کرد



alirezador
دوشنبه 15 اسفند 1384, 11:33 صبح
با سلام دوستان من می خواستم بدونم چطوری میشه از API ها استفاده کرد و یا کتاب یا مقاله ای تو این زمینه سراغ دارین

omid_Ahmadi
دوشنبه 15 اسفند 1384, 13:51 عصر
باید با استفاده از اتربیوت DllImport در System.Runtime.InteropServices فایلی که تابع مورد نظر توشه رو به برنامه اضافه کنی. بعد تابع رو تعریف کنی.
مثالا برای اضافه کردن تابع Beep که در فایل kernel32.dll است می تونی از کد زیر استفاده کنی



[System.Runtime.InteropServices.DllImport("kernel32")]
private static extern int Beep(int dwFreq, int dwDuration);


بعد از این میتونی مثل تابع های عادی از اوون استفاده کنی.
در ضمن اکیدا توصیه شده که در کدهای مدیریت شده در .NET از APIها استفاده نکنی و حدالامکان از توابع خود BCL استفاده کنی.

برای اطلاعات بیشتر هم می تونی به فصل هشتم کتاب Developing Windows Based Applications with .NET از MS Press مراجعه کنی

razavi_university
دوشنبه 15 اسفند 1384, 14:46 عصر
نرم افزار API viewer هم خودش سر تابع رو میده

alirezador
دوشنبه 15 اسفند 1384, 20:02 عصر
سلام
خیلی ممنونم از راهنمایی که کردین خیلی مفید بود

مطهر
دوشنبه 15 اسفند 1384, 20:30 عصر
اینم چیز خوبیه
http://www.barnamenevis.org/forum/showthread.php?t=31235&highlight=API

بابک زواری
دوشنبه 15 اسفند 1384, 20:38 عصر
APIها به شکل Sinppet جهت استفاده در VS کار آقای حامد مصافی
http://h1.ripway.com/BlackDal/ETC/Snippet/BlackDal.rar

جهت اطلاع از استفاده از این Snippet ها به این آدرس برید
http://www.barnamenevis.org/forum/showthread.php?t=36793&highlight=snippet

amir-haghighi
یک شنبه 29 اردیبهشت 1387, 18:58 عصر
به نام او::
اين كد رو در كجاي برنامه بايد بذارم؟

در رويداد لود شدن فرم يا هر جا كه نياز داشتم؟



[System.Runtime.InteropServices.DllImport("kernel32")]
private static extern int Beep(int dwFreq, int dwDuration);