Ну если у тебя перехватывается Present в directx9, то создай глобальную переменнную
IDirect3DDevice9* m_cpDevice = nullptr;
В самом пресенте:
if (m_cpDevice == nullptr) {
m_cpDevice = pDevice;
}
И уже где тебе нужно:
D3DVIEWPORT9 viewPort;
imSet.m_cpDevice->GetViewport(&viewPort);
std::cout << viewPort.Width << " " << viewPort.Height << std::endl;
Если нет, то вроде был какой-то другой способ через RsGlobalType структуру в гта, сейчас посмотрю