Windows programming DLL

13 397 0
Windows programming   DLL

Đ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

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

Mục lục

  • Slide 1

  • Các kĩ thuật

  • DLL chứa được gì?

  • Tạo DLL trong cùng solution

  • Tạo DLL riêng và nạp

  • Tạo plugin

  • Các bước

  • Demo

  • Bài tập

  • Mở rộng – Tự tìm hiểu

  • Gọi Win32 API: P/Invoke

  • Tạo C++ DLL và gọi từ C#

  • Late binding C++ DLL

Tài liệu cùng người dùng

Tài liệu liên quan