1. Trang chủ
  2. » Công Nghệ Thông Tin

Windows programming DLL

13 397 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 121,53 KB

Nội dung

Lập trình Windows Slide về thư viện động DLL. Tạo dll từ C dùng trong cùng solution của C Tạo dll từ C, nạp động khi chạy từ C Kĩ thuật plugin Tạo dll từ C++, nạp lên dùng bởi C Tạo dll từ C, nạp lên dùng bởi C++

Dynamic link library Lập trình Windows Các kĩ thuật  Tạo dll từ C# & dùng solution C#  Tạo dll từ C#, nạp động chạy từ C#  Kĩ thuật plugin  Tạo dll từ C++, nạp lên dùng C#  Tạo dll từ C#, nạp lên dùng C++ DLL chứa gì?  Hàm, lớp  Tài nguyên: hình ảnh, tập tin, âm thanh, trỏ…  Để lấy tài nguyên lúc runtime, dùng hàm Assembly.GetManifestResourceStream Tạo DLL solution  Tạo project dạng Class Library bên solution  Trong project cha, thêm tham chiếu  Nhấn chuột phải > Add Reference  Trong tab project, chọn tên project dll tạo  Sử dụng hàm lớp dll cần thêm khai báo  Using  http:// www.mindstick.com/Articles/9d1f70d0-efab-4e56-a511-18 92020e7a95 Tạo DLL riêng nạp  Phải đặt với tập tin exe  Nạp vào nhớ từ đường dẫn Assembly.LoadFile()  Lấy lớp tương ứng muốn dùng GetType(“Ten”)  Tạo thể hiện: Activator.CreateInstance()  Gọi hàm sử dụng Reflection  Gọi hàm sử dụng dynamic (.Net 4.0) Tạo plugin Các bước  Tạo dll khai báo interface  Tạo dll khác kế thừa từ interface  Hiện thực hóa theo nghiệp vụ tương ứng riêng  Khi chạy, nạp dll Demo  Chương trình tính tốn với số  Mặc định chương trình làm phép cộng  Khi scan thêm vào hai khả phép trừ phép nhân Bài tập  Viết chương trình chơi Búa Kéo Bao với AI  AI mặc định kèm tập tin exe: random  AI DLL, scan AI ăn gian: luôn thắng AI nịnh bợ: luôn thua  Viết chương trình vẽ với khả vẽ hình  Hình mặc định kèm đường thẳng  hình hình vng hình tròn đặt DLL, scan thấy  Cài đặt cho nhập mật nạp DLL Mở rộng – Tự tìm hiểu 10 Gọi Win32 API: P/Invoke  Calling Win32 DLLs in C# with P/Invoke  http://msdn.microsoft.com/en-us/magazine/cc164123.aspx  Giả sử ta muốn gọi hàm MessageBeep user32.dll có nguyên mẫu sau:  BOOL MessageBeep( UINT uType /* beep type */);  Khai báo ánh xạ C#: [DllImport("User32.dll")] static extern Boolean MessageBeep(UInt32 beepType);  Sau gọi hàm bình thường 11 Tạo C++ DLL gọi từ C#  http:// www.codeproject.com/Articles/9826/How-to-create -a-DLL-library-in-C-and-then-use-it-w 12 Late binding C++ DLL  http:// www.codeproject.com/Articles/1557/Late-bindingon-native-DLLs-with-C 13 ...Các kĩ thuật  Tạo dll từ C# & dùng solution C#  Tạo dll từ C#, nạp động chạy từ C#  Kĩ thuật plugin  Tạo dll từ C++, nạp lên dùng C#  Tạo dll từ C#, nạp lên dùng C++ DLL chứa gì?  Hàm,... (.Net 4.0) Tạo plugin Các bước  Tạo dll khai báo interface  Tạo dll khác kế thừa từ interface  Hiện thực hóa theo nghiệp vụ tương ứng riêng  Khi chạy, nạp dll Demo  Chương trình tính tốn với... Giả sử ta muốn gọi hàm MessageBeep user32 .dll có nguyên mẫu sau:  BOOL MessageBeep( UINT uType /* beep type */);  Khai báo ánh xạ C#: [DllImport("User32 .dll" )] static extern Boolean MessageBeep(UInt32

Ngày đăng: 30/12/2015, 13:43

TỪ KHÓA LIÊN QUAN

w