PDA

View Full Version : Api



lehung_ngo
27-07-2005, 11:42
Bác nào biết post một bài cơ bản về C# với lập trình API cho tui học hỏi chút nha ! Thanks in advance !

tranvinhnt
27-07-2005, 13:25
using System;
using System.Runtime.InteropServices;
class MyClass
{
[DllImport("User32.dll")]
public static extern int MessageBox(int h, string m, string c, int type);

public static int Main()
{
string myString;
Console.Write("Enter your message: ");
myString = Console.ReadLine();
return MessageBox(0, myString, "My Message Box", 0);
}
}


Mình lấy ví dụ này trên MSDN đó.

lehung_ngo
27-07-2005, 17:16
Mấy cái đó mình cũng tìm rồi, ý mình là khi đọc các đoạn code đó mình cũng ko hiểu lắm là nó làm cái gì nên muốn hỏi mấy bạn xem có thể post một bài tương đối dễ hiểu , có giải thích code để người mới học như mình có thể học hỏi. Thanks much !!!

Vinhie47
27-07-2005, 20:36
Bạn không hiểu chỗ nào vậy?
phần [dll...] là khai báo sử dụng thư viện nào
dòng tiếp theo là hàm ở trong cái dll đó
Còn cái "MessageBox.." ở gần cuối là sử dụng cái hàm đó thôi. Nó có 4 tham số giống như là ở dòng "public static extern..." mà.

lehung_ngo
28-07-2005, 13:10
public static extern int MessageBox(int h, string m, string c, int type);
Cái dòng này có bắt buộc phải có ko ?

tranvinhnt
28-07-2005, 13:32
Dòng đó là bắt buộc. Ví dụ bạn tìm trong API View hàm để tạo tiếng Beep trong máy tính là:
Declare Function Beep Lib "kernel32.dll" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long

Lúc đó bạn sẽ chuyển sang C# là:
[DllImport("kernel32.dll")]
private static extern int Beep(int dqFreq, int dqDuration);

Và sử dụng hàm đó bình thường. Happy coding!

lehung_ngo
29-07-2005, 08:09
private static extern ??????
còn mấy cái từ khóa này thì sao ? thay = public, bỏ static được ko?
Còn extern là gì ????????

tranvinhnt
29-07-2005, 09:02
Bạn thử tìm hiểu xem :) BẠn thay thế, rồi chạy thử xem. Bạn học CNTT mà sao tôi thấy bạn ít tìm hiểu quá. Bạn nên tự mày mò trước. Chừng nào nào gặp vấn đề khó thì mới hỏi chứ. Bạn nên tự nghiên cứu nha:)

lehung_ngo
30-07-2005, 08:09
ok, thanks alot!!!!!!!!!!!!!!

Hell Fire
31-07-2005, 01:17
Declare Function Beep Lib "kernel32.dll" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long

Tìm tài liệu về mấy khai báo này ở đâu vậy mấy bác. Hồi trước có tìm được 1cái nhưng mà của TQ, đọc chả hiểu gì cả. Thaxn các bác.

khanh22t
31-07-2005, 02:47
tinhoc02a@yahoo.com hoac vudinhcuonghacker@yahoo.com