Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Tài liệu PLAYING XM MUSIC FROM MASM’S EXE doc
Nội dung xem thử
Mô tả chi tiết
Benina’s TutASM # 3: Playing XM Music From Masm’s EXE – Ver 1.0
Author: Benina
Trang 1/8
Benina’s TutASM # 3
PLAYING XM MUSIC FROM MASM’S EXE
Author: Benina
Phần này tôi sẽ hướng dẫn các bạn cách add data XM music vào resource của file EXE và chơi
nhạc khi chương trình Runing.
Tool : RadASM+MASM32
Dowload source here: http://h1.ripway.com/benina/files/Keygen3.rar
Lý thuyết:
Trước hết các bạn phải có 2 file thư viện : mfmplayer.inc và mfmplayer.lib chứa code để chơi
nhạc. File thư viện mfmplayer.lib chứa một hàm được định nghĩa trong mfmplayer.inc :
mfmPlay PROTO :DWORD
Hàm này có tên là mfmPlay, lấy một tham số DWORD là con trỏ đến dữ liệu music trong
memory. Hàm này yêu cầu một dword đầu tiên được trỏ đến bởi tham số hàm, nó chính là là kích
thức (size) của data music.
Nếu tham số là con trỏ đến dữ liệu music thì nó bắt đầu chơi nhạc. Nếu tham số là 0 , thì music
sẽ stop. Thư viện này chỉ đơn giản vậy thôi.
Nhưng trước hết, để ta sử dụng lâu dài hàm thư viện này khi lập trình , ta hảy copy file
mfmplayer.inc vào thư mục C:\masm32\include chứa chương trình MASM32 và file
mfmplayer.lib vào thư mục C:\masm32\lib. Sau khi làm xong, chúng ta có thể sử dụng dịch vụ
của nó được rồi đó.
Tôi xin tóm tắt các bước để chơi music như sau:
1. Lấy handle của resource music, sử dụng hàm FindResource
2. Load resource trong memory, sử dụng hàm LoadResource
3. Nhưng như đã nói về hàm mfmPlay, nó cần một Dword nằm trong memory đầu tiên (first
Dword) chứa size của resource. Để giải quyết vấn đề này, chúng ta sẽ định ra một vùng
nhớ mới (dùng hàm GlobalAlloc) và write size của resource đến first Dword của vùng
nhớ mới vừa định. Do có thêm 1 dword để lưu size, nên vùng nhớ mới lớn hơn resource
music 1 dword. Kế đến chúng ta copy resource từng byte từng byte một vào memory
chúng ta mới định ra trước đó.
4. Cuối cùng, chúng ta play music với hàm mfmPlay.
5. Khi chương trình kết thúc, chúng ta cho nhạc tắt theo bằng cách gọi hàm mfmPlay với
tham số là 0