GetWindowRect(hwnd,&rect); 的结果错误,得到的rect结果是-38000 -38000 -37920 -37920

GetWindowRect(hwnd,&rect); 的结果错误,得到的rect结果是-38000 -38000 -37920 -37920

检举|2012-01-17 03:04 天刀笑  |  分类:VC++  |  浏览519次
具体代码
#include "stdafx.h"
#include<windows.h>

#include<iostream>
using namespace std;

void main()
{
	hwnd=FindWindowW(NULL,_T("Skype™ ")); 
	int i=110;
	MoveWindow(hwnd,100+i,100,120,180,1);

	int x=350;
	int y=200;
	int cx=400;
	int cy=400;
	SetWindowPos(hwnd,HWND_TOPMOST,x,y,cx,cy,SWP_SHOWWINDOW);

	RECT rect,rect1; 
	GetWindowRect(hwnd,&rect);
	GetClientRect(hwnd,&rect1);	
	SetWindowPos(hwnd,HWND_TOPMOST,x,y,cx,cy,SWP_SHOWWINDOW);
	cout<<rect.top<<"  "<<rect.left<<"  "<<rect.bottom<<"  "<<rect.right<<endl;
}
前面MOVEWINDOW和SETWINDOW都起作用了,但是
1.SET WINdow的位置坐标是按照屏幕分辨率?感觉不像
2.最后4个输出结果是-38000 -38000 -37920 -37920,请指教,谢谢
我有更好的答案
提问者采纳
2012-01-17 13:47
代码没问题,窗口最小化了之后就会那样
使最小化的窗口正常化:ShowWindow(hwnd, SW_NORMAL) 
放在你的MoveWindow之前
提问者评价
嗯,我后来自己调试也发现了是因为最小化了,加入ShowWindow(hwnd, SW_NORMAL) 确实更安全,谢谢了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值