如果根据句柄获取该程序的窗体边框的高度和宽度?

kayoo 2016-08-24 12:58:54
比如WIN7系统下一般是(25,3) 如果是没边框的程序则返回(0,0)求函数 谢谢!
...全文
1474 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 9 楼 lyhoo163 的回复:
@ DelphiGuy 电脑型号: 惠普 HP 笔记本电脑 操作系统: Windows 7 旗舰版 32位 处理器: AMD Turion(炫龙) X2 双核 RM-75 笔记本处理器
啊,原来是AMD处理器,研究了一下,这个处理器性能大约就是intel高频Pentium4 HT(3GHz+)或者PentiumD双核的水平,现在用起来有点勉强了。
lyhoo163 2016-08-30
  • 打赏
  • 举报
回复
就是温度高了一点,AMD就是这样,其它还好。准备更换了。
lyhoo163 2016-08-29
  • 打赏
  • 举报
回复
@ DelphiGuy 电脑型号: 惠普 HP 笔记本电脑 操作系统: Windows 7 旗舰版 32位 处理器: AMD Turion(炫龙) X2 双核 RM-75 笔记本处理器
  • 打赏
  • 举报
回复
CPUID 0f31这是Pentium4啊,还能运行win7确实不容易,主要是内存不行,基本上主板能上4GB内存就到顶了,而且内存性能不行,差不多只有现在新电脑的1/10。
lyhoo163 2016-08-28
  • 打赏
  • 举报
回复

找到一个,是这样吗?
gyk120 2016-08-27
  • 打赏
  • 举报
回复
CreateToolhelp32Snapshot 快照用遍历的方式获得进程名 然后EnumWindows
kayoo 2016-08-27
  • 打赏
  • 举报
回复
引用 4 楼 gyk120 的回复:
GetSystemMetrics(SM_CXFULLSCREEN); //获取最大化窗体的显示区域宽度 GetSystemMetrics(SM_CYFULLSCREEN); //获取最大化窗体的显示区域高度
谢谢,请问如何指定句柄呢?因为有的程序可能并没有边框
gyk120 2016-08-26
  • 打赏
  • 举报
回复
GetSystemMetrics(SM_CXFULLSCREEN); //获取最大化窗体的显示区域宽度 GetSystemMetrics(SM_CYFULLSCREEN); //获取最大化窗体的显示区域高度
  • 打赏
  • 举报
回复
GetSystemMetrics
kayoo 2016-08-25
  • 打赏
  • 举报
回复
引用 1 楼 kiboisme 的回复:
procedure GetFormBorder(hForm : HWND; var iBorder , iCaption : integer);
var
  R , R2 : TRect;
begin
  GetClientRect(hForm , R);
  GetWindowRect(hForm , R2);
  iBorder := (R2.Right-R2.Left-R.Right+R.Left) DIV 2;
  iCaption := R2.Bottom-R2.Top-R.Bottom+R.Top;
end;
你可以试下GetClientRect得到的left和top值永远是0,我不知道为什么所有人都写这个函数,但其实都是错的。
蓝色光芒 2016-08-24
  • 打赏
  • 举报
回复
procedure GetFormBorder(hForm : HWND; var iBorder , iCaption : integer);
var
  R , R2 : TRect;
begin
  GetClientRect(hForm , R);
  GetWindowRect(hForm , R2);
  iBorder := (R2.Right-R2.Left-R.Right+R.Left) DIV 2;
  iCaption := R2.Bottom-R2.Top-R.Bottom+R.Top;
end;

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧