VicoTas
Câu hỏi
Thu Trang thutrang
26/04/2013 21:01

Xin hỏi cách nhúng 1 file *.exe vào trong 1 ứng dụng khác như VB, Delphi, VC++?



Danh sách câu trả lời (1)
Đức Vân ducvan1993 26/04/2013 21:01
Mỗi file *.exe là 1 ứng dụng độc lập, chúng không thể truy xuất dữ liệu lẫn nhau được. Do đó không có nhu cầu chính đáng cho việc nhúng 1 file *.exe vào trong file *.exe khác (trừ trường hợp đóng gói phần mềm cho gọn và dễ phân phối phần mềm). Tuy nhiên nếu muốn và nếu đang lập trình bằng VB hay VC++, bạn có thể dùng tiện ích "Resource Editor" để tạo file resource chứa nhiều file có định dạng bất kỳ, khi dịch ra mã máy, chương trình dịch sẽ nhúng file resource vào file khả thi. Trong lúc chạy, code của ứng dụng có thể truy xuất dữ liệu trong resource. Nếu bạn lập trình trên ngôn ngữ hay môi trường lập trình mà không hỗ trợ cơ chế resource, chúng tôi có thể giới thiệu phương pháp nhúng như sau:

1. Dùng 1 tiện ích chuyển nội dung file *.exe cần nhúng thành 1 dãy n byte, mỗi byte miêu tả giá trị tương ứng trong file *.exe. Như vậy, bước này cho phép bạn chuyển nội dung file *.exe thành 1 biến "array" gồm n byte (n là độ dài file *.exe).

2. Tạo phát biểu khai báo biến và khởi động giá trị biến "array" trong bước 1 (ở vị trí thích hợp của file source code của ứng dụng của bạn).

3. Viết đoạn code xử lý biến này: thường là lưu nội dung của biến trở lại file tạm trên đĩa rồi gọi hàm API để chạy nó khi cần thiết. Trong Windows, bạn có thể dùng hàm WinExec() hay CreateProcess() để khởi động chạy 1 file *.exe bất kỳ.

Lưu ý: ý tưởng nhúng file *.exe trong 1 file *.exe khác là bất thường, nó chỉ gây nhiều phiền hà hơn là giúp ích cho người lập trình.
Trả lời câu hỏi
Tải lại mã
Câu hỏi lĩnh vực Lập trình
Lê Văn Tùng Trong 1 form, làm sao để kiểm tra nút nào đã được ấn (click) hoặc textbox nào được chọn ở form khác?

Đăng lúc: 21:01 - 26/04/2013 trong Lập trình

vietnamconnection Cách khai báo biến kiểu CArray<SHAPE,SHAPE> trong lập trình MFC (Visual C++), trong đó SHAPE là 1 struct (kiểu do người dùng định nghĩa)?

Đăng lúc: 21:01 - 26/04/2013 trong Lập trình

Vinh . Chương trình chạy tốt trên Windows 9x nhưng trên Windows XP thì không xuất hiện hộp thoại theo yêu cầu?

Đăng lúc: 21:01 - 26/04/2013 trong Lập trình

Lê Thị Hoa Hồng Xin hỏi cách thay đổi hình dạng các button trên Form trong Borland Delphi 5.0?

Đăng lúc: 21:01 - 26/04/2013 trong Lập trình

nophoto Cách thức viết chương trình Visual Basic sử dụng ngắt?

Đăng lúc: 21:01 - 26/04/2013 trong Lập trình

nophoto Xin hỏi cách đọc dữ liệu từ file Excel, Text rồi đẩy vào database bằng ngôn ngữ ASP.NET?

Đăng lúc: 21:01 - 26/04/2013 trong Lập trình

Đức Cảnh Làm thế nào để chương trình hiện ở System tray?

Đăng lúc: 21:01 - 26/04/2013 trong Lập trình

NgocUk Tôi muốn viết chương trình Assembly hiển thị giờ như đồng hồ điện tử nhưng gặp khó khăn trong việc cập nhật phút giây và thiết lập font chữ phóng to?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

nophoto Lập trình giao diện Winform với VB.Net, làm sao để có được giao diện (button, textbox) giống như style của XP mà ko phụ thuộc vào theme của HĐH ?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

nophoto Xin hướng dẫn cách hook bàn phím và thay thế ký tự gõ vào trong ngôn ngữ Delphi?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Mạnh Linh Lập trình bằng C/C++ for DOS, làm sao để chương trình chạy n lệnh cùng một lúc?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Lê Thị Hoa Hồng Xin hướng dẫn cách xử lý đọc mã vạch với Visual Foxpro?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Nguyễn Văn Siêu Xin hướng dẫn cách kết nối VC++ 6.0 và CSDL Oracle 8i?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Lê Văn Tùng Xin hướng dẫn đoạn code C++ thực hiện thu âm thanh từ microphone?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Uk Khi DataEnvironment trong VB6 kết nối CSDL SQL thì đã có sẵn RecordSet hay chưa?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Ngô Minh Tùng Xin hướng dẫn cách tạo một rubic trên đó có các ảnh ở mỗi mặt và có thể chuyển động được?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

nophoto Xin hướng dẫn cách tạo menu bằng lệnh trong VC++ 6.0, tôi mới bắt đầu lập trình C trên môi trường Win32?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Thu Trang Xin chỉ cách thể hiện công thức toán học trong lập trình C và PHP?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Lê Văn Tùng Xin hỏi cách lập trình giao tiếp với phần cứng trong Windows? Trực tiếp hay thông qua API?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Ngô Minh Tùng Để vẽ hình vuông trong VC++ thì phải làm những bước gì?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Rao vặt Siêu Vip