VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 111|回复: 2

无法对win10系统的计算器的窗口进行像课程中的操作,现在是2020年了,用win7的人少

[复制链接]
63_avatar_middle
最佳答案
1 
donate_vip 发表于 2020-3-22 17:58:36 | 显示全部楼层 |阅读模式


希望,老师能根据win10系统做一下课程上的教学的补充
毕竟现在已经是2020年了。

  1. BOOL Win_SetPosSize(HWND hwd, int left=NULL, int top=NULL, int newWidth = NULL, int newHight = NULL)
  2. {

  3.         RECT rect;
  4.         GetWindowRect(hwd, &rect);

  5.        
  6.         if (left==NULL)
  7.         {
  8.                 left = rect.left;

  9.         }
  10.         if (top== NULL)
  11.         {
  12.                 top = rect.top;

  13.         }
  14.         if (newWidth == NULL)
  15.         {
  16.                 newWidth =rect.right - rect.left;

  17.         }
  18.         if (newHight == NULL)
  19.         {
  20.                 newHight = rect.bottom - rect.top;

  21.         }


  22.         return MoveWindow(hwd, left, top, newWidth, newHight, TRUE);

  23. }




  24. void CDlgTestDlg::OnBnClickedButton7()
  25. {
  26.        

  27.         //HWND hdl=::FindWindow(_T("QWidget"),_T("金山词霸2016"));
  28.         //Windows.UI.Core.CoreWindow
  29.        
  30.                 //HWND hdl = ::FindWindow(_T("ApplicationFrameWindow"), _T("计算器"));
  31.         HWND hdl = ::FindWindowExA(NULL,NULL,"ApplicationFrameWindow", "计算器");

  32.         //HWND hdl = ::FindWindowExA(NULL, NULL, "Windows.UI.Core.CoreWindow", "计算器");

  33.         //HWND hdl = ::FindWindowEx(NULL,NULL,_T("ApplicationFrameWindow"), _T("计算器")); //获取不到
  34.         //疑问:为什么用 FindWindowEx 获取不到 正确的窗口句柄?
  35.        

  36.         //RECT ret;
  37.         //int  newWide, newHight;

  38.         if (hdl)
  39.         {

  40.                 //::SetWindowText(hdl, _T("VC驿站 专用计算器!"));
  41.                 /*HWND hEdit = ::FindWindowEx(hdl, NULL, _T("Edit"), NULL);
  42.                 ::SetWindowText(hEdit, _T("1234567890"));*/

  43.                 //::SendMessage(hdl, WM_SETTEXT, 0, (LPARAM)_T("VC驿站 专用计算器!"));



  44.                 Win_SetPosSize(hdl, 5, 5);

  45.                 DWORD dwPID=0;

  46.                 GetWindowThreadProcessId(hdl,&dwPID);

  47.                 CString strPID;

  48.                 strPID.Format(_T("PID=%d"), dwPID);

  49.                 MessageBox(strPID);

  50.                 /*::GetWindowRect(hdl, &ret);

  51.                 newWide = ret.right - ret.left;
  52.                 newHight = ret.bottom- ret.top ;


  53.                 ::MoveWindow(hdl,0,0,newWide,newHight,TRUE);*/
  54.                 //::SetWindowText(hdl, _T("筋斗云是孙悟空的"));
  55.         }

  56. }
复制代码







上一篇:win32 c++ socket怎么发送utf8的中文
下一篇:23课求助
58_avatar_middle
最佳答案
31 
online_vip 发表于 2020-3-22 18:57:42 | 显示全部楼层
1、根据百度操作系统统计,win7用户至今都比win10用户多 https://tongji.baidu.com/research/site#os
2、Windows API 是开发操作系统都用的,不可能无法操作Win10,我把我10卸了,暂时无法帮你测试,往后学,学深了后怎么样都能解决。上次有人说win10的计算器类名和win7不同,你用spy++看看,或者把类名忽略,只用标题名称FindWindow。
51_avatar_middle
最佳答案
74 
online_admins 发表于 2020-3-22 19:15:23 | 显示全部楼层
我这边没问题啊。。。
无法对win10系统的计算器的窗口进行像课程中的操作,现在是2020年了,用win7的人少
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-5-31 07:52

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表