我有一个函数可以获取显示分辨率。我想出了一个主意,但结果只是一些正方形。
LPCWSTR GetDispRes(HWND hWnd)
{
HMONITOR monitor = MonitorFromWindow(hWnd, MONITOR_DEFAULTTONEAREST);
MONITORINFO info;
info.cbSize = sizeof(MONITORINFO);
GetMonitorInfo(monitor, &info);
int arr[2];
arr[0] = info.rcMonitor.right - info.rcMonitor.left;
arr[1] = info.rcMonitor.bottom - info.rcMonitor.top;
LPCWSTR a;
std::wstring s = std::to_wstring(arr[0]);
std::wstring d = std::to_wstring(arr[1]);
std::wstring ress = s + d;
a = (LPCWSTR)ress.c_str();
return a;
}
我从 MessageBox 调用这个函数
MessageBox(NULL, GetDispRes(hWnd) , TEXT("TEST"), NULL);
这是输出:
我的问题是,是什么导致了这个输出?还有什么其他方法可以做到这一点?(将 int 转换为 LPWCSTR)?谢谢。