想在WIN2000下的AUTOCAD R14实现全屏

zenithweng 2004-05-09 10:55:46
想在WIN2000下的AUTOCAD R14实现全屏
公司的电脑屏幕很小,只好用全屏了。自己做了个程序,在WIN98下可以用,可是
在WIN2000下就不行了。
CAD可以调用ARX的程序,相当于DLL。
程序的想法是:
1。先做一个钩子。监视GETMINMAXINFO消息。
MsgHook=SetWindowsHookEx(WH_CALLWNDPROCRET,
Watch,//我的钩子函数
NULL,GetCurrentThreadId());
2。再改变窗口大小。
SetWindowPlacement(m_MainWnd,//CAD提供的窗口句柄
&m_FullScrPl);//计算出来的全屏位置。
运行结果,用spy++查看。
<00047>000800F8 S WM_WINDOWPOSCHANGING lpwp:039AFF20
//x:-4 y:-42 cx:808 cy:697
<00048>000800F8 S WM_GETMINMAXINFO lpmmi:039AFCC0
//ptReserved:160:24
//ptMaxSize:808,608
//ptMaxPosition:-4,-4
//ptMinTrackSize:112,27
//ptMaxTrackSize:812,612
<00049>000800F8 R WM_GETMINMAXINFO lpmmi:039AFB98
//ptReserved:160:24
//ptMaxSize:808,608
//ptMaxPosition:-4,-4
//ptMinTrackSize:200,100
//ptMaxTrackSize:808,697
<00050>000800F8 R WM_WINDOWPOSCHANGING
//x:-4 y:-42 cx:808 ****cy:612*****
//就是这里了。正确的cy应该是697,WM_GETMINMAXINFO的消息也改过来了。
//就是不对,我看了没装钩子时的消息,lpmmi的地址是一样的。不知道
//问题是不是这个原因。是不是DLL没有注入进程中啊。
...全文
38 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zenithweng 2004-05-13
  • 打赏
  • 举报
回复
各位高手帮帮忙,我没有别的问题.只有这一个.分数不够的话我可以再加.
zenithweng 2004-05-11
  • 打赏
  • 举报
回复
求教各位高手

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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