PDA

View Full Version : API چیه ؟



mdssoft
شنبه 22 دی 1386, 16:38 عصر
سلام به همه دوستان
بچه ها اگر میشه یه توضیح درباره API های ویندوز بدید و بگید من که تازه کارم چطور باید لیست
API های ویندوز برای #C رو پیدا کنم و چطور با هاشون کار کنم ؟ :لبخندساده:

سار
شنبه 22 دی 1386, 16:40 عصر
برای چه کاری؟
برای هر کاری API وجود داره که البته همیشه لازم نیست شما همه ی کارها رو با API انجام بدی.

mr_moghimkhani
شنبه 22 دی 1386, 17:06 عصر
تا اونجا که من اطلاع دارم ویندوز تمام کارهای خودش رو توسط پیغام انجام میده. که API ها حقیقتاَ همان پیغام ها هستند. حال در برنامه نویسی ویندوز ارسال و پردازش همین API ها منجر به ساخت برنامه میشود.
API ها انواع گوناگونی دارند و تقریباً برای هر کاری یک API داریم. وقتی که با سی شارپ برنامه مینویسیم و از ابزارها و امکانات آن استفاده می کنیم در حقیقت خود سی شارپ از همین توابع API استفاده کرده. اما در جاهایی امکانات سی شارپ پاسخگوی نیاز ما نیست.
که در اینصورت ما خودمان بطور مستقیم در برنامه توابع API مورد نیاز خود را بکار می بریم.
بطور مثال :



[DllImport("User32.dll")] public static extern int MessageBox(int h, string m, string c, int type);


به سایت زیر هم یه سری بزن :
http://www.csharphelp.com/archives/archive79.html
البته تو همین سایت هم مطالبی هست، بگردی پیدا میکنی.

mdssoft
یک شنبه 23 دی 1386, 00:27 صبح
1 - حالا چطور باید از توابع API ویندوز تو برنامه خودمون استفاده کنیم ؟
یه نمونه کد بزارین ممنون میشم

2 - آیا reference ی هست که بدونیم هر API چه توابعی دارد ؟

sinpin
یک شنبه 23 دی 1386, 00:37 صبح
1 - حالا چطور باید از توابع API ویندوز تو برنامه خودمون استفاده کنیم ؟
یه نمونه کد بزارین ممنون میشم
2 - آیا reference ی هست که بدونیم هر API چه توابعی دارد ؟
1- آقای مقیم خانی که این مورد رو توضیح دادند
2- لینکهای زیر :

For more information, see the following overviews.
Buttons (http://msdn2.microsoft.com/en-us/library/bb775943%28VS.85%29.aspx)
Carets (http://msdn2.microsoft.com/en-us/library/ms646968%28VS.85%29.aspx)
Clipboard (http://msdn2.microsoft.com/en-us/library/ms648709%28VS.85%29.aspx)
Combo Boxes (http://msdn2.microsoft.com/en-us/library/bb775792%28VS.85%29.aspx)
Common Dialog Box Library (http://msdn2.microsoft.com/en-us/library/ms645524%28VS.85%29.aspx)
Cursors (http://msdn2.microsoft.com/en-us/library/ms646970%28VS.85%29.aspx)
Data Copy (http://msdn2.microsoft.com/en-us/library/ms648710%28VS.85%29.aspx)
Dialog Boxes (http://msdn2.microsoft.com/en-us/library/ms632588%28VS.85%29.aspx)
Dynamic Data Exchange (http://msdn2.microsoft.com/en-us/library/ms648711%28VS.85%29.aspx)
Dynamic Data Exchange Management Library (http://msdn2.microsoft.com/en-us/library/ms648712%28VS.85%29.aspx)
Edit Controls (http://msdn2.microsoft.com/en-us/library/bb775458%28VS.85%29.aspx)
Hooks (http://msdn2.microsoft.com/en-us/library/ms632589%28VS.85%29.aspx)
Icons (http://msdn2.microsoft.com/en-us/library/ms646973%28VS.85%29.aspx)
Keyboard Accelerators (http://msdn2.microsoft.com/en-us/library/ms645526%28VS.85%29.aspx)
Keyboard Input (http://msdn2.microsoft.com/en-us/library/ms645530%28VS.85%29.aspx)
List Boxes (http://msdn2.microsoft.com/en-us/library/bb775146%28VS.85%29.aspx)
Menus (http://msdn2.microsoft.com/en-us/library/ms646977%28VS.85%29.aspx)
Messages and Message Queues (http://msdn2.microsoft.com/en-us/library/ms632590%28VS.85%29.aspx)
Mouse Input (http://msdn2.microsoft.com/en-us/library/ms645533%28VS.85%29.aspx)
Multiple Document Interface (http://msdn2.microsoft.com/en-us/library/ms632591%28VS.85%29.aspx)
Raw Input (http://msdn2.microsoft.com/en-us/library/ms645536%28VS.85%29.aspx)
Resources (http://msdn2.microsoft.com/en-us/library/ms632583%28VS.85%29.aspx)
Rich Edit Controls (http://msdn2.microsoft.com/en-us/library/bb787605%28VS.85%29.aspx)
Scroll Bars (http://msdn2.microsoft.com/en-us/library/bb787529%28VS.85%29.aspx)
Static Controls (http://msdn2.microsoft.com/en-us/library/bb760769%28VS.85%29.aspx)
Strings (http://msdn2.microsoft.com/en-us/library/ms646979%28VS.85%29.aspx)
Text Object Model (http://msdn2.microsoft.com/en-us/library/bb787607%28VS.85%29.aspx)
Timers (http://msdn2.microsoft.com/en-us/library/ms632592%28VS.85%29.aspx)
Version Information (http://msdn2.microsoft.com/en-us/library/ms646981%28VS.85%29.aspx)
Window Classes (http://msdn2.microsoft.com/en-us/library/ms632596%28VS.85%29.aspx)
Window Procedures (http://msdn2.microsoft.com/en-us/library/ms632593%28VS.85%29.aspx)
Window Properties (http://msdn2.microsoft.com/en-us/library/ms632594%28VS.85%29.aspx)
Windowless Rich Edit Controls (http://msdn2.microsoft.com/en-us/library/bb787609%28VS.85%29.aspx)
Windows (http://msdn2.microsoft.com/en-us/library/ms632595%28VS.85%29.aspx)
Windows Controls (http://msdn2.microsoft.com/en-us/library/bb773173%28VS.85%29.aspx)
Windows Shell (http://msdn2.microsoft.com/en-us/library/bb773177%28VS.85%29.aspx)
:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winprog/winprog/overview_of_the_windows_api.asp

اینم یک مثال مربوط به یکی از موارد بالا :

SetWindowText Function
The SetWindowText function changes the text of the specified window's title bar (if it has one). If the specified window is a control, the text of the control is changed. However, SetWindowText cannot change the text of a control in another application.
Syntax
BOOL SetWindowText(
HWND hWnd,
LPCTSTR lpString
);
Parameters
hWnd [in] Handle to the window or control whose text is to be changed. lpString [in] Pointer to a null-terminated string to be used as the new title or control text. Return Value
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError (http://msdn2.microsoft.com/en-us/library/ms679360%28VS.85%29.aspx).

hassan razavi
یک شنبه 23 دی 1386, 01:26 صبح
روش کار با API ها مثل فراخوانی dll ها هست. فقط باید بدونید که تابع مورد نظرتون در کدام dll هست (مثلا user32 یا ...) بعد آنرا Import میکنید.