续问题 id=5385 ,怎样判断一个窗体是否是窗体

Firing_Sky 2000-03-25 01:56:00
我捕获的窗口句柄是属于另一个应用程序的,我怎么才能判断它是否是Form,更进一步,我希望能操作另一个应用程序的菜单……应该怎么办?
...全文
142 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
olo 2000-03-27
  • 打赏
  • 举报
回复
听听
Un1 2000-03-26
  • 打赏
  • 举报
回复
如果仅仅是操作菜单的话,知道hwnd之后还有什么搞不定?!
Lin 2000-03-25
  • 打赏
  • 举报
回复
Firing_Sky:
1、问题答案见http://www.csdn.net/expert/TopicView.asp?id=5325
2、问题答案见http://www.csdn.net/expert/TopicView.asp?id=5585
kxy 2000-03-25
  • 打赏
  • 举报
回复
delphi中,例如 var aform : taform
afrom 是一个引用,指向一片内寸。
对其他的应用程序,窗口就是TForm,但是,这个Form的代码大小,数据的位置
等等你是无法知道的,如果你把它强制转化会内寸崩溃的。
例如,delphi中你写了 TForm1,TForm2,两者不同,
有两个变量 Form1,Form2 你能这样操作吗
Form2 := TForm2.Create(Application); //假设form2中有Menu1
Form1 := Form2;
TForm2(Form1).Menu1 ; //???

form2类似其他程序的窗口。

所以,要控制其他程序要使用windowsAPI的东西。
kxy 2000-03-25
  • 打赏
  • 举报
回复
只能使用windows API的函数,
用可以看exe资源的程序找出菜单的ID, 用windowsAPI的函数来控制,
向它发消息,SendMessage(hwnd,WM_COMMAND,iD,0);
或者,把另一个程序子类化,或者使用HOOK.
TForm只是在delphi中有用,

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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