PDA

View Full Version : API in C++



behnam_akb
سه شنبه 15 آذر 1384, 16:31 عصر
سلام آیا زاحی برای استفاده API های ویندوز در C++ (منظورم Visual نیست) وجو دراه؟

amir_civil
سه شنبه 15 آذر 1384, 18:09 عصر
سلام دوست من :لبخندساده
خیلی راحت میشه استفاده کرد
مثلا ای پی ای که برای بدست اوردن مسیر ویندوز هست به شکل زیر به کار میره که تو کتابخانه
windows.h هست

GetSystemDirectory
اگه مشکلی بود بگو

behnam_akb
سه شنبه 15 آذر 1384, 23:34 عصر
سلام

ممنون از پاسختون.

اما یه سوال windows.h رو از کجا بیارم؟؟ من نمی خوام از visual C استفاده کنم و می خوام برنامه ام تحت داس باشه.


چه طور میشه اطلاعاتی کامل در مورد API های ویندوز و طرز استفادشون در C پیدا کرد ؟

seyedof
چهارشنبه 16 آذر 1384, 09:41 صبح
سلام
برنامه کنسول یا برنامه تحت داس؟
برنامه کنسول برنامه ای است که توی داس باکس ولی در محیط ویندوز قراره اجرا بشه. در اینجور برنامه ها شما به API ویندوز دسترسی دارید اما اگر میخواهید برنامه شما در محیط داس اجرا بشه خب کاملا بدیهی است که داس یک سیستم عامل دیگه است و ویندوز یک سیستم عامل دیگه! پس نباید هم بتونید از توابع API ویندوز در داس استفاده کنید.
ممنون علی

behnam_akb
چهارشنبه 16 آذر 1384, 20:47 عصر
بله این رو می دونم بیشتر منظور من این بود که من از Visual C++ استفاده نمی کنم و تحت کنسول هستش.

حالا چه طور این دسترسی رو داشته باشم؟



مثلا این windows.h رو از کجا بیارم

behnam_akb
چهارشنبه 23 آذر 1384, 22:57 عصر
کسی نمی دونه؟

sh_roohani
پنج شنبه 24 آذر 1384, 10:38 صبح
ببینین، اگه برنامه تون تحت کنسول DOS و تو محیط Windows اجرا می شه، یعنی اینکه یه برنامه کنسول 32 بیتی دارید که دیگه مشکلی ندارید. همونطور که دوستان هم قبلا فرمودن، راه چاره اینه:

#include <windows.h>
اما توصیه می کنم از هر تابعی که می خواین استفاده کنین (منظورم توابع Win32 API هست) اول اونو توی MSDN چک کنین. MSDN در پایان توضیح هر تابع، ذکر کرده که برای استفاده از اون به چه Header و lib ی احتیاج دارید. غالبا کارتون با همون Windows.h راه می افته و واسه lib ها هم خود Visual C++ 6.0 پروژه های کنسول 32 بیتی رو با اینا لینک می کنه:

kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
اگه می خواین خارج از محیط یه IDE برنامه تونو لینک کنین، حتما این lib ها رو مد نظر داشته باشین.
در مورد Windows.h هم، معمولا تو دایرکتوری نصب کامپایلرتون، باید یه دایرکتوری Inc یا Include باشه، که تقریبا همه Header ها اونجا قرار می گیرن.
یه چیز دیگه، به نظر میاد همون kernel32 و user32 بیشتر نیاز شما رو توی محیط کنسول رفع کنن.

behnam_akb
پنج شنبه 24 آذر 1384, 12:36 عصر
mamnun az rahnamayeeton

sh_roohani
پنج شنبه 24 آذر 1384, 12:39 عصر
خواهش می کنم.