Sự khác biệt là mã hóa các thông số, mà là hoàn toàn không cần thiết anyway. Chỉ cần vứt bỏ các thông số và thay vào đó sử dụng những điều sau đây, nơi bạn kiểm soát các mã hóa:
hInstance
chỉ là GetModuleHandle(0)
hPrevInstance
là không hợp lệ trong Win32 nào
lpCmdLine
có sẵn trong cả hai ANSI và Unicode, qua GetCommandLineA()
và GetCommandLineW()
, tương ứng
nCmdShow
là tham số wShowWindow
của cấu trúc STARTUPINFO
. Một lần nữa, các biến thể ANSI và Unicode, được truy cập bằng cách sử dụng GetStartupInfoA(STARTUPINFOA*)
và GetStartupInfoW(STARTUPINFOW*)
.
Và bằng cách sử dụng API Win32 để truy cập, bạn có thể lưu một vài biến toàn cục, như biến mà bạn đã lưu cẩn thận xử lý cá thể mà bạn nghĩ chỉ khả dụng cho WinMain
.
Nguồn
2014-08-11 19:26:15
nếu bạn đã xác định _UNICODE, sau đó ví dụ thứ hai sẽ lỗi vì LPTSTR sẽ là WSTR và không phù hợp với WinMain, cả WINAPI và APIENTRY được định nghĩa là __stdcall – Kaije
Nhấp chuột phải vào _tWinMain -> chọn đi đến định nghĩa ... – Jimbo
Khai báo WinMain() của bạn không chính xác, đối số thứ 3 là LPSTR. Cả hai đều là cổ xưa, bạn nên sử dụng wWinMain ngày hôm nay. –