如何修改一个进程中的一个edit的属性???

舟中夜起 2003-08-22 02:38:14
一个进程,我想修改它的一个对话框中的一个edit类的属性,例如修改为只读属性,该如何做那?谢谢!!!

我可以hook api或者hook message,但是不知道怎么做?谢谢

修改属性可以用SetWindowLong,但是如何获取那个edit的句柄之类的参数呢?那个对话框只有用户点击了才会弹出的。
...全文
71 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
舟中夜起 2003-08-28
  • 打赏
  • 举报
回复
我用hook方法,已经得到了edit控件的句柄,GetWindowLong得到edit的style,
DWORD dwStyle = ::GetWindowLong(hEditWnd, GWL_STYLE);
::SetWindowLong(hEditWnd, GWL_STYLE, dwStyle | ES_READONLY);

edit没有反应,是否有其它修改属性的方法?如果不行,就只能hook keyboard,不让其输入了。


TangJunLin2002 2003-08-26
  • 打赏
  • 举报
回复
没有标题一样可以用FINDWINDOW可以先找到他的空类名,然后继续找他特有的其他控件标志来证明是否是要修改的程序!
舟中夜起 2003-08-24
  • 打赏
  • 举报
回复
我想达到的目的是,通过我来启动某个特定的程序,我来控制这个程序所有的编辑框设置为只读模式。

我通过spy++查看了,这个程序没有标题,所以似乎不能通过FindWindow来做的。

我想到的方法是:Hook WM_SETFOCUS消息,这样只要进入编辑框,我就可以通过SetWindowLong来设置属性为只读,不知是否可行
zhouyong0371 2003-08-24
  • 打赏
  • 举报
回复
如果你有一个对话框DialogMenu,上边有一个Edit控件,ID为IDC_EDIT,在Resource.h里边的定义为#define IDC_EDIT 1001

则在对他进行Disable的.cpp文件里边加入#define IDC_EDIT 1001,然后,一个按钮响应函数如下,就可以了。:

void CSetOtherMenuDlg::OnSetEditDisable()
{
//对方窗口的标题为DialogMenu
CWnd * pWnd = FindWindow(NULL, "DialogMenu");

if (pWnd)
{
HWND hwndEdit;
pWnd->GetDlgItem(IDC_EDIT, &hwndEdit);
::EnableWindow(hwndEdit, FALSE);

}
}
vcforever 2003-08-24
  • 打赏
  • 举报
回复
FindWindow
FindWindowEx
应该可以的,要不我们做的程序怎么能找到,任务栏上开始按钮的handle呢!
然后用ModifyStyle或SetWindowLong修改就可以了!
gzshd 2003-08-24
  • 打赏
  • 举报
回复
比较难,进程之间是有保护的
如果要修改的进程是你写的,你可以让这两个程序之间有一个通讯的协议,来修改edit的属性
李_军 2003-08-23
  • 打赏
  • 举报
回复
你肯定要找到他才行啊,用FindWindow查找
相关网站 7 设置窗口最大最小 7 设置窗口标题 7 去掉主菜单 7 修改应用程序图标 7 系统只能允许一个程序运行 7 在状态栏添加时间 8 研究调用存储过程 8 得到本机的IP地址 9 vc调用chm文件 10 最高窗口的实现 10 防止Edit的Password不保密 11 在同一系统显示GB字符和BIG5字符 12 改变颜色(整个窗体的控件) 13 改变工程表头栏 13 ◆如何找开一个DiaLog的窗口◆ 13 ◆得到系统设置的窗口颜色◆ 14 ◆如何让点下去的菜单成为V状态◆ 14 ◆如何调用WINDOWS的颜色板◆ 14 ◆如何产生一个MDI的主窗口◆ 15 ◆如何让一个文本控件显示出值◆ 15 ◆如何让一个控件显示出相应的值◆ 16 ◆在调试怎么样MESSAGEBOX一个数字◆ 16 ◆如何控制控件的焦点◆ 16 ◆如何对析构函数对象进行释放◆ 16 ◆如何关闭一个模态窗口◆ 17 ◆如何将一个提示的声音发到声卡上◆ 17 ◆如何得到打开exe的带的参数◆ 17 ◆如何在框架上建立一个工具条◆ 17 ◆如何生成一个主窗口下方的状态条◆ 18 ◆如何让Cscrollview类控制其可以流动区域大小◆ 19 ◆MFC控件的一些基本控制方法◆ 19 ◆如何让一个数字型变量化为字符型变量◆ 19 ◆如何使用“拉动条”,“上下选择”◆ 19 ◆如何使用postmessage来异步触发某事件◆ 21 ◆如何使用Sendmessage来异步触发某事件◆ 22 ◆如何修改父类的相关控件属性◆ 22 ◆如何在程序得到控件的名◆ 22 ◆如何控制菜单的事件程序◆ 22 ◆如何使用控件的数据录入的控制属性◆ 23 ◆哪些函数是文档、视图相互处理用的◆ 23 ◆如何建立一个基于对话框一程序◆ 23 ◆如何建立一个线程◆ 24 ◆如何让窗口产生一个图标(从应用程序资源取出)◆ 24 ◆如何得到一个edit的录入的值◆ 24 ◆如何启动TIMER事件◆ 25 ◆如何使用ctrllist控件实现表格◆ 25 ◆如何从INI文件得到值◆ 25 ◆如何将图标文件写到窗口◆ 26 ◆如何得到本机的IP地址◆ 26 ◆如何使用全局变量◆ 26 ◆如何让一个字符加上回车、换行◆ 26 ◆如何定义、使用结构◆ 26 ◆如何在任意程序显示MessageBox◆ 27 ◆如何在程序判断出debug状态◆ 27 ◆当对话框一个滚动条是,当滚动滚动条时的消息控制函数◆ 27 ◆将一个CWnd指针转换成一个控件ID(整数)注意用GetDlgItem()函数是从一个控件ID转换成一个CWnd的指针◆ 28 ◆如果在对话框自定义一个消息的方法,假设对话框名为CXX◆ 28 ◆消息传递◆ 29 ◆在一个函数引用另外的一个对话框◆ 29 ◆全局函数的申明问题◆ 29 ◆在应用程序*APP.CPP的InitInstance()的事件◆ 29 ◆给执行文件加一个图标◆ 30 ◆如何在全局函数通过传入的窗口句柄操作窗口◆ 30 ◆如何使桌面文字背景透明?◆ 30 ◆怎样才能在VC里产生一个唯一的字符串◆ 31 ◆如何隐藏进程(在系统状态栏和进程列表里不可见)◆ 31 ◆如何得到一个确定大小的视?◆ 31 ◆如何实现点击窗口任意地方拖动窗口?◆ 32 ◆如何在启动时阻止MDI应用程序创建一个新文档?◆ 33 ◆如何在多文档MFC程序制作独立的File|New菜单?◆ 33 ◆如何检测视是否处于分割状态?◆ 34 ◆如何使程序保持极小状态?◆ 34 ◆如何确定当前进程实例是否为唯一实例?◆ 35 ◆如何向一个文档附加多个视?◆ 35 ◆如何获得文件的图标、属性、大小、类型等参数?◆ 36 ◆如何得到鼠标下面的窗口?◆ 37 ◆设置鼠标的形状◆ 38 ◆在对话框设置编辑EDIT的值◆ 38 1. 如何获取应用程序的实例句柄? 38 2. 如何通过代码获得应用程序主窗口的指针? 38 3. 如何在程序获得其他程序的图标? 38 4. 如何编程结束应用程序?如何编程控制windows的重新引导? 39 5.怎样加载其他的应用程序? 39 6. 确定应用程序的路径 39 7. 获得各种目录信息 40 8. 如何自定义消息 40 9. 如何改变窗口的图标? 40 10. 如何改变窗口的 缺省风格? 40 11. 如何将窗口居显示? 41 12. 如何让窗口和 MDI窗口一启动就最大化和最小化? 41 13. 如何使程序保持极小状态? 41 14. 如何限制窗口的 大小? 41 15. 如何使窗口不可见? 41 16. 如何使窗口始终在最前方? 41 17、如何创建一个字回绕的CEditView 42 18、通用控件的显示窗口 42 19、移动

15,471

社区成员

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

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