Tôi cần thay đổi chức năng của ứng dụng dựa trên tên thực thi. Không có gì lớn, chỉ cần thay đổi chuỗi được hiển thị và một số định danh nội bộ. Ứng dụng được viết trong một hỗn hợp của native và .Net C++ - mã CLI.Cách lấy tên thực thi ứng dụng trong WindowsC++/CLI?
Hai cách mà tôi đã xem xét là phân tích hàm GetCommandLine() trong Win32 và nhồi nhét xung quanh bằng AppDomain và các thứ khác trong .Net. Tuy nhiên, việc sử dụng GetCommandLine sẽ không phải lúc nào cũng hoạt động khi chạy từ trình gỡ rối dòng lệnh trống. Và công cụ .Net AppDomain dường như đòi hỏi nhiều thứ xung quanh.
Vậy cách tốt nhất/đơn giản nhất/hiệu quả nhất để xác định tên thực thi trong C++/CLI là gì? (Tôi hy vọng rằng tôi vừa bỏ lỡ điều gì đó đơn giản có sẵn trong .Net.)
Chỉnh sửa: Một điều mà tôi nên đề cập là đây là ứng dụng Windows GUI sử dụng C++/CLI, do đó không có quyền truy cập vào chức năng chính của kiểu C truyền thống, nó sử dụng chức năng Windows WinMain().
Giải pháp này có lợi thế nhất của việc cross-platform. –
Có, mặc dù tôi không tìm kiếm một nền tảng chéo, chỉ một cho Windows sử dụng Win32 hoặc .Net. – Daemin
Điều đó không hoạt động trong trường hợp chung. – tml