دوستان سلام
اگه ممکنه در مورد api و ماکرو یه اطلاعاتی به من بدین
ممنون
دوستان سلام
اگه ممکنه در مورد api و ماکرو یه اطلاعاتی به من بدین
ممنون
سلام
api اساس ویندوز هست. توابع api (Application Programing Interface) شامل بیش از 1000 تابع هست که برنامه های کاربردی میتونن از اون استفاده کنند. توابعی مثل کپی و حذف فایل گرفته تا تاریخ سیستم و کلا هر کاری که در ویندوز اتفاق میفته با استفاده از این توابع هست.
api در همه زبانهای برنامه نویسی پشتیبانی میشه و البته نحوه کاربرد توابع بستگی به زبان مورد استفاده داره.
موفق باشی
سلام دوست عزیز
امیدوارم این مطالب بدردت بخوره
---------------------------------------------------------------------------------------------
Application Programming Interface
قلب ویندوز چیزی نیست به جز توابع API یا رابط برنامه نویسی کاربردی آن، API شامل بیش از 1000 تابع و پردازه می باشد که برنامه های کاربردی می توانند از آنها استفاده کنند. در حقیقت هر کاری که در ویندوز روی میدهد و هر اتفاقی که می افند با استفاده از این توابع صورت میگیرد.
در حقیقت نوشتن برنامه برنامه برای ویندوز از صدا کردن توابع API تشکیل می شود. اگر برنامه نویس ویندوزی بگوید که من به توابع API نیازی ندارم در حقیقت او همان استفاده کننده از Tools و ابزراهای رایج ویندوز می باشد.
API بخشی از ویندوز است، لذا تمام برنامه های کاربردی ویندوز به همان توابعی دسترسی دارند که برنامه دیگر دسترسی دارند.
در محیط چند وظیفه ای ویندوز ضروری است که تمام برنامه ها در روش تعریف شده دقیق عمل کنند. با استفاده از توابع API که در تمامی برنامه های کاربردی استفاده می شود این سازگاری به وجود می آید.
شاید شما ندانسته و یا ناخواسته بارها با API کار کرده باشید. وقتی شما در محیط زبان برنامه نویسی مثل Delphi و یا Visual Basic یا هر محیط دیگری پروژه ی جدیدی را آغاز میکنید و فرم اولیه را روی صفحه آورده و آماده طراحی میشوید، در واقع استفاده از API را آغاز کرده اید. در حقیقت در همین لحظه تابع CreateWindow فراخوانی شده و فرم مزبور در مقابل شما قرار میگیرد که خود این تابع یکی از توابع API است.
API ممکن است پیچیده به نظر برسد، آن هم با داشتن بیش از 1000 تابع، ولی API یک امکان واقعا قوی است.
از نظر برنامه نویسی API شامل یک سری زیربرنامه های آماده و کاملا سالم میباشدکه در اختیار برنامه نویسان محیط ویندوز قرار می گیرد.
Last edited by smh.ir; 06-10-2007 at 22:45.
ممنون مطالبتون دید کلی خوبی داد ولی من چندتا سوال دیگه دارم
فرق api با dll چیه
ومگه component برا ی این کارایی که مگید نیست
چجوری میتونم اطلاعات کاملتری بدست بیارم
بازم ممنون
کتاب در زمینه ی توابع API زیاد هست
مطالبی که من نوشتم از کتاب "برنامه نویسی سیستمی در ویندوز با توابع API" تالیف پژمان حسینی هست
در ادامه مطالب قبلی...
DLL چیست؟
در حقیقت DLLها هم مانند API ابزاری هستند که شما از آنها استفاده کرده اید ولی شاید نمیدانستید. اگر نگاهی به دایرکتوری های Windows\System و Windows\System32 و یا خود دایرکتوری ویندوز بیاندازید تعداد زیادی از فایل های DLL را می یابید.
DLL یا کتابخانه پیوندی پویا می باشد که می تواند شامل انواع داده و یا کد باشد. درون DLL می توان انواعی از داده ها همانند کد، تصویر،صوت و .... را قرار داد.
نکته جالب فایل های DLL خاصیت مستقل از زبان برنامه نویسی این فایل ها می باشد. یعنی اگر DLL بااستفاده از Delphi ایجاد شده باشد می توان در Visual Basic یا Visual C++ از آن استفاده کرد.
نکته دیگر DLLها، صرفه جویی در مصرف حافظه می باشدکه یه همین دلیل نام Dynamic را با خود به همراه دارند . در واقع هر قسمت از DLL که فراخوانی میشود همان قسمت به حافظه بار میشودو در صورت عدم نیاز نیز از حافظه خارج می شود.
در واقع دلایل استفاده از DLLها را می توان موارد زیر نام برد:
1-توانایی اشتراک کردن کد بین چند برنامه و حتی خود ویندوز
2-استفاده مجدد از کدهای نوشته شده
3-استفاده بهینه از منابع ویندوز و منابع سیستمی
4-جدا کردن کدهای مختلف
لازم به ذکر است که DLLها را می توان با زبان های مانند Delphi و یا Visual C++ تولید کرد.
حال مطمئنا می توانید جواب این سوال را که APIها در کجا هستند بدهید. بله APIها در فایلهای DLL ویندوز قرار دارند
مهمترین DLLها که بیشترین APIها را در خود جای داده اند عبارتند از Kernel32.DLL و User32.DLL و Shell32.DLL و ...
ممنون از راهنمایتون
API چیست ؟موضوع مقاله: آموزش الکترونیکAPI مخفف Application Programming Interface به معنای رابط برنامه نویسی کاربردی است. در واقعAPI یک کتابخانه سیستمی شامل صدها تابع استاندارد قابل دسترسی است که شرکت Microsoft آنها را داخل یکسری فایل DLL برای برنامه نویسی سیستمی قرار داده .
API چیست ؟
API مخفف Application Programming Interface به معنای رابط برنامه نویسی کاربردی است. در واقعAPI یک کتابخانه سیستمی شامل صدها تابع استاندارد قابل دسترسی است که شرکت Microsoft آنها را داخل یکسری فایل DLL برای برنامه نویسی سیستمی قرار داده .
API را اصطلاحا قلب سیستم عامل ویندوز می نامند ، هر کاری که در این سیستم عامل انجام می شود توسط همین توابع API صورت می گیرد ، در حقیقت API بر خلاف نام آن که نشان دهنده یک رابط مستقل برای ایجاد برنامه های کاربردی تحت ویندوز است بیشتر توسط خود سیستم عامل ویندوز مورد استفاده قرار می گیرد ، به بیانی دیگر تعداد زیادی از API ها را Microsoft جهت کارهای داخلی windows استفاده کرده و هیچ نامی از آنها برده نشده است و هیچ مستنداتی برای آنها نداریم در نتیجه بهتر است آنها را فراموش کنیم .
اما نقش API در برنامه نویسی چیست؟ API سنگ بنای برنامه نویسی تحت ویندوز را فراهم می آورد . بهتر است بگوییم برنامه نویسی تحت ویندوز بدون توابع API غیر ممکن است .
با استفاده از API می توانید برای برنامه ها یک رابط گرافیکی فراهم نمایید ، تصاویر را نمایش دهید و شی های سیستم مانند حافظه ، فایلها و پردازشها را مدیریت نمایید . ویندوز برای کنترل خود توابع و روال هایی را در اختیار برنامه نویسان می گذارد این توابع دارای قدرت و توانایی بالایی می باشند و قابل استفاده توسط برنامه نویسان Delphi , C++ , Visual c , Visual Basicو غیره می باشند
علت استفاده از توابع API در برنامهنویسی
دلایل استفاده از توابع API در زبانهای مختلف برنامهنویسی میتواند این باشد که:
1 . توابع API به دلیل آنکه در فایلهای DLL هر سیستم عامل ویندوز میباشد و در هر مکان مانند یکدیگر میباشند پس نیازی به ارائه آن فایل DLL در نسخه برنامه نمیباشد و درنتیجه حجم نسخه کم میشود و درضمن سندیت برنامه نیز بیشتر میشود و میتوان گفت که شما از منابع ویندوز به نحو احسن استفاده کردهاید.
2 . نسخههای ویندوز به طور مداوم تغییر می کند ولی به دلیل آنکه سازندگان همیشه حالتی را در نظر میگیرند که نسخههای قبلی را نیز پشتیبانی کند. درنتیجه اگر شما برنامهای را به کمک توابع API بنویسید با تغییر نسخه ویندوز نیازی به تغییر جدی در توابع API نمیباشد.
3 . بیشتر زبانهای برنامهنویسی (بهخصوص زبانهای تحت ویندوز که خود به صورت پنهان از توابع API استفاده میکنند ) ممکن است به علت محدودیتهایی نتوانند تمام امکانات توابع را در اختیار قرا دهند. شما با دسترسی مستقیم به توابع میتوانید از حداکثر قابلیتهای تابع استفاده کنید.
4 . در بعضی از زبانهای برنامهنویسی برای آنکه بتوان یک حالت را بوجود آورد و یا کار مشخصی را انجام داد، باید کدهای زیادی بنویسیم و یا در زمان خطاگیری مدت زیادی را صرف کنیم و به طور حتم کاربر استفادهکننده از برنامه شما نیز باید زمان بیشتری را برای گرفتن جواب صرف کند. این موارد ذکر شده هر کدام به نوبه خود میتوانند از محبوبیت، قدرتمند و خوانابودن برنامه بکاهند. ولی توابع API به دلیل آنکه روتین شده و از قبل نوشته شده میباشند پس فقط کافیست تابع را فراخوانی کنیم و به آن ورودی دهیم و خروجی مورد نظر خود را دریافت کنیم.
همانطور که دیدید API ها نقش اصلی و کلیدی را در ویندوز ایفا می کنند و به گفته عده ای ویندوز مجموعه ای از توابع API است .
ولی استفاده از این توابع مشکلاتی را نیز در بر دارد :
مشکلات کار با API
همانطور که می دانید windows با C و ++C نوشته شده و تایپ توابع آن همان تایپ ++C بوده و فهم C نیز نسبت به سایر زبانهای برنامه نویسی کمی مشکلتر است ، بدلیل وجود ماکروها ، اشاره گر, مدیریت حافظه پویا و …
دلیل دیگر ترس از API ظاهر پیچیده بعضی از این توابع می باشند ، وجود تعداد زیاد پارامتر که باز هر پارامتر خود یک structur می باشد که این struct از تعدادی فیلد تشکیل شده که فهم و درک تک تک این فیلدها و پارامترها بسیار مشکل می باشد .
دلیل دیگر را می توان این گفت که برای انجام یک عمل باید یک سری از توابع API را با ترتیب خاص و پارامترهای مشخص فراخوانی نمود . که چگونگی ترتیب توابع ، مقادیر پارامترها و اینکه حتی چه توابعی باید فراخوانی شوند جای بحث بسیار است .
با توجه به دلایل گفته شده بسیاری از برنامه نویسان ویندوز کار با برنامه هایی چون Delphi را ترجیح می دهند و آن را لذت بخش می دانند به علت اینکه برنامه های visual تمامی پیچیدگی های API ها را در توابع و اشیاءخود پنهان نموده اند و در نتیجه برنامه نویس به آن صورت درگیر API ها نمی شود ( مگر در موارد خاص) و با کمترین وقت و کار ، بیشترین نتیجه را بدست می آورد .
( حتی افرادی هستند که هیچ اطلاعاتی از API ندارند اما برنامه های تحت windows می نویسند )
بطور مثال با یک click یک Form یا یک Button ایجاد می شود اما در پشت پرده توابع API مختلفی فراخوانی می شود تا این کنترل ها ایجاد شوند .
API چیست ؟
API مخفف Application Programming Interface به معنای رابط برنامه نویسی کاربردی است. در واقعAPI یک کتابخانه سیستمی شامل صدها تابع استاندارد قابل دسترسی است که شرکت Microsoft آنها را داخل یکسری فایل DLL برای برنامه نویسی سیستمی قرار داده .
API را اصطلاحا قلب سیستم عامل ویندوز می نامند ، هر کاری که در این سیستم عامل انجام می شود توسط همین توابع API صورت می گیرد ، در حقیقت API بر خلاف نام آن که نشان دهنده یک رابط مستقل برای ایجاد برنامه های کاربردی تحت ویندوز است بیشتر توسط خود سیستم عامل ویندوز مورد استفاده قرار می گیرد ، به بیانی دیگر تعداد زیادی از API ها را Microsoft جهت کارهای داخلی windows استفاده کرده و هیچ نامی از آنها برده نشده است و هیچ مستنداتی برای آنها نداریم در نتیجه بهتر است آنها را فراموش کنیم .
اما نقش API در برنامه نویسی چیست؟ API سنگ بنای برنامه نویسی تحت ویندوز را فراهم می آورد . بهتر است بگوییم برنامه نویسی تحت ویندوز بدون توابع API غیر ممکن است .
با استفاده از API می توانید برای برنامه ها یک رابط گرافیکی فراهم نمایید ، تصاویر را نمایش دهید و شی های سیستم مانند حافظه ، فایلها و پردازشها را مدیریت نمایید . ویندوز برای کنترل خود توابع و روال هایی را در اختیار برنامه نویسان می گذارد این توابع دارای قدرت و توانایی بالایی می باشند و قابل استفاده توسط برنامه نویسان Delphi , C++ , Visual c , Visual Basicو غیره می باشند.
علت استفاده از توابع API در برنامهنویسی
دلایل استفاده از توابع API در زبانهای مختلف برنامهنویسی میتواند این باشد که:
1 . توابع API به دلیل آنکه در فایلهای DLL هر سیستم عامل ویندوز میباشد و در هر مکان مانند یکدیگر میباشند پس نیازی به ارائه آن فایل DLL در نسخه برنامه نمیباشد و درنتیجه حجم نسخه کم میشود و درضمن سندیت برنامه نیز بیشتر میشود و میتوان گفت که شما از منابع ویندوز به نحو احسن استفاده کردهاید.
2 . نسخههای ویندوز به طور مداوم تغییر می کند ولی به دلیل آنکه سازندگان همیشه حالتی را در نظر میگیرند که نسخههای قبلی را نیز پشتیبانی کند. درنتیجه اگر شما برنامهای را به کمک توابع API بنویسید با تغییر نسخه ویندوز نیازی به تغییر جدی در توابع API نمیباشد.
3 . بیشتر زبانهای برنامهنویسی (بهخصوص زبانهای تحت ویندوز که خود به صورت پنهان از توابع API استفاده میکنند ) ممکن است به علت محدودیتهایی نتوانند تمام امکانات توابع را در اختیار قرا دهند. شما با دسترسی مستقیم به توابع میتوانید از حداکثر قابلیتهای تابع استفاده کنید.
4 . در بعضی از زبانهای برنامهنویسی برای آنکه بتوان یک حالت را بوجود آورد و یا کار مشخصی را انجام داد، باید کدهای زیادی بنویسیم و یا در زمان خطاگیری مدت زیادی را صرف کنیم و به طور حتم کاربر استفادهکننده از برنامه شما نیز باید زمان بیشتری را برای گرفتن جواب صرف کند. این موارد ذکر شده هر کدام به نوبه خود میتوانند از محبوبیت، قدرتمند و خوانابودن برنامه بکاهند. ولی توابع API به دلیل آنکه روتین شده و از قبل نوشته شده میباشند پس فقط کافیست تابع را فراخوانی کنیم و به آن ورودی دهیم و خروجی مورد نظر خود را دریافت کنیم.
همانطور که دیدید API ها نقش اصلی و کلیدی را در ویندوز ایفا می کنند و به گفته عده ای ویندوز مجموعه ای از توابع API است .
ولی استفاده از این توابع مشکلاتی را نیز در بر دارد :
مشکلات کار با API
همانطور که می دانید windows با C و ++C نوشته شده و تایپ توابع آن همان تایپ ++C بوده و فهم C نیز نسبت به سایر زبانهای برنامه نویسی کمی مشکلتر است ، بدلیل وجود ماکروها ، اشاره گر, مدیریت حافظه پویا و …
دلیل دیگر ترس از API ظاهر پیچیده بعضی از این توابع می باشند ، وجود تعداد زیاد پارامتر که باز هر پارامتر خود یک structur می باشد که این struct از تعدادی فیلد تشکیل شده که فهم و درک تک تک این فیلدها و پارامترها بسیار مشکل می باشد .
دلیل دیگر را می توان این گفت که برای انجام یک عمل باید یک سری از توابع API را با ترتیب خاص و پارامترهای مشخص فراخوانی نمود . که چگونگی ترتیب توابع ، مقادیر پارامترها و اینکه حتی چه توابعی باید فراخوانی شوند جای بحث بسیار است .
با توجه به دلایل گفته شده بسیاری از برنامه نویسان ویندوز کار با برنامه هایی چون Delphi را ترجیح می دهند و آن را لذت بخش می دانند به علت اینکه برنامه های visual تمامی پیچیدگی های API ها را در توابع و اشیاءخود پنهان نموده اند و در نتیجه برنامه نویس به آن صورت درگیر API ها نمی شود ( مگر در موارد خاص) و با کمترین وقت و کار ، بیشترین نتیجه را بدست می آورد .
( حتی افرادی هستند که هیچ اطلاعاتی از API ندارند اما برنامه های تحت windows می نویسند )
بطور مثال با یک click یک Form یا یک Button ایجاد می شود اما در پشت پرده توابع API مختلفی فراخوانی می شود تا این کنترل ها ایجاد شوند .
من می خوام به فایل سیستم دسترسی داشته باشم و از اون لیست بد بلاک ها , بلاک های آزاد و بلاک های اختصاصی به یه فابل رو بدست بیارم!
این apiیی که بتونم با c# ازش استفاده کنم رو از کجا پیدا کنم؟
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)