2014-06-08 35 views
1

我想獲取當前窗口(其控制檯窗口)的位置。當前我的意思是我正在編程的窗口,例如,如果控制檯位於屏幕的左上角,我應該得到X = 0,Y = 0。(通過窗口的位置,我指的是窗口各自的顯示器)獲取Windows下的當前窗口位置

#include <windows.h> 
#include <iostream> 
using namespace std; 

int main(){ 
    int X, Y; 
    GetCurrentWindowPos(&X, &Y); /* How do I do this? */ 
    return 0; 
} 
+0

['GetWindowRect'](http://msdn.microsoft.com/en-us/library/windows/desktop/ms633519(v = vs.85).aspx),['GetConsoleWindow'](http://msdn.microsoft.com/en-us/library/windows/desktop/ms683175(v = vs.85).aspx) – chris

回答

2
void GetWindowPos(int *x, int *y) { 
    RECT rect = { NULL }; 
    if(GetWindowRect(GetConsoleWindow(), &rect)) { 
     *x = rect.left; 
     *y = rect.top; 
    } 
} 

乾杯

+0

謝謝!我必須做#define _WIN32_WINNT 0x0500。我真的是lookinf這個功能「GetConsoleWindow()」我沒有找到如何獲得控制檯窗口的句柄!它幫助了很多 – Bruno