CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 595

595

Chương 15: Khả năng liên tác mã lệnh không-được-quản-lý

// khi duyệt qua các cửa sổ đang mở.

[DllImport("user32.dll")]

public static extern int EnumWindows(CallBack callback, int param);

[DllImport("user32.dll")]

public static extern int GetWindowText(int hWnd,

StringBuilder lpString, int nMaxCount);

private static void Main() {

CallBack callBack = new CallBack(DisplayWindowInfo);

// Yêu cầu hệ điều hành duyệt qua các cửa sổ đang mở,

// kích hoạt callback với handle của mỗi cửa sổ.

EnumWindows(callBack, 0);

Console.ReadLine();

}

// Hàm sẽ nhận callback. Thông số thứ hai

// không được sử dụng nhưng phải được khai báo để

// tương thích với chữ ký của callback.

public static bool DisplayWindowInfo(int hWnd, int lParam) {

int chars = 100;

StringBuilder buf = new StringBuilder(chars);

if (GetWindowText(hWnd, buf, chars) != 0) {

Console.WriteLine(buf);

}

return true;

}

}

5.

5.

L y thông tin l i không-đ

c-qu n-lý

ượ

L y thông tin l i không-đ

c-qu n-lý

ượ

Bạn cần truy xuất thông tin lỗi (mã lỗi hoặc thông điệp mô tả lỗi) giải thích tại
sao một lời gọi Win32 API
thất bại.

Trong phần khai báo của hàm không-được-quản-lý, thiết lập trường

SetLastError

của đặc tính

DllImportAttribute

true

. Nếu có lỗi khi thực thi, gọi

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.