Question: You can SET the size of a HTA window but I can't find a way to GET its size.

All I can think of is reading `document.body.offsetWidth` and `.offsetHeight`, but those give you the viewport size not the actual window size.

Is it possible to know that?

Answer: 
It seems there are no properties or methods to get that information. The now beta-released IE9 has the new properties `outterWidth` and `outterHeight`, but that is not an option for now.

So I devised a workaround for this:

```
function addWinSizeGetterFuncs(){
   var currViewportWidth = document.body.offsetWidth ;
   var currViewportHeight = document.body.offsetHeight ;
   resizeTo(currViewportWidth,currViewportHeight) ;
   var chromeWidth = currViewportWidth-document.body.offsetWidth ;
   var chromeHeight = currViewportHeight-document.body.offsetHeight ;
   resizeTo(currViewportWidth+chromeWidth,currViewportHeight+chromeHeight) ;
   window.getWidth = new Function('return document.body.offsetWidth+'+chromeWidth) ;
   window.getHeight = new Function('return document.body.offsetHeight+'+chromeHeight) ;
}

```

What that function does is to create two new methods for the `window` object: `window.getWidth()` and `window.getHeight()`. They will get the *actual* size of the window.  

The function requires the existence of the `body` object so it has to be executed after the `BODY` tag.

---

And now that we are at it, the same problem applies for the window position. You can't get the actual window position. What you can get is the viewport position relative to the screen.
So the same workaroud serves for this as well:

```
function addWinPosGetterFuncs(){
   var currViewportLeft = screenLeft ;
   var currViewportTop = screenTop ;
   moveTo(currViewportLeft,currViewportTop) ;
   var viewportOffsetX = screenLeft-currViewportLeft ;
   var viewportOffsetY = screenTop-currViewportTop ;
   moveTo(currViewportLeft-viewportOffsetX,currViewportTop-viewportOffsetY) ;
   window.getScreenX = new Function('return screenLeft-'+viewportOffsetX) ;
   window.getScreenY = new Function('return screenTop-'+viewportOffsetY) ;
}

```

Likewise, the function creates two new methods that will retrieve the *actual* window position: `window.getScreenX()` and `window.getScreenY()`

Problem solved. I'll let you guys figure out how the function works ;)
minified version:

```
window.pos=new function(w,h,x,y){with(document.body)return(
    resizeTo(w=offsetWidth,h=offsetHeight),resizeTo(w+(w=w-offsetWidth),h+(h=h-offsetHeight)),
    moveTo  (x=screenLeft ,y=screenTop   ),moveTo  (x-(x=screenLeft-x ),y-(y=screenTop-y   )),{
        w:function(){return offsetWidth +w},
        h:function(){return offsetHeight+h},
        x:function(){return screenLeft  -x},
        y:function(){return screenTop   -y}
})};

```