操作对话框.

franklyfly 2010-05-01 12:14:07

问题: 我想制作一个程序.这个程序可以用来关闭,其它程序或是什么弹出的对话框. 一要知道这个对话框存在,二要点击上面的按钮.
...全文
110 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
水猿兵团五哥 2010-05-06
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 franklyfly 的回复:]
程序测自己的窗体句柄:
Dim fHwnd As Long
Dim Data As String
fHwnd = FindWindow(vbNullString, "测试")
msgBox(fHwnd)'返回值1075515898897762148这个每次返回都是不同
这个每次不同是正常的
MsgBox(Me.Handle)'返回值1443684 这个每次返回不变
这个也是正常的
Call GetWindow……
这个问题你去查下那个函数声明是否正确
[/Quote]


最后给你个终极武器,让你很轻松就能找到你要的窗体控件,帮你写代码的:spy
franklyfly 2010-05-06
  • 打赏
  • 举报
回复
谁来帮我回答下.9楼的问题
franklyfly 2010-05-06
  • 打赏
  • 举报
回复
谢谢13楼的回复..下了个.SPY..测一个窗口的句柄.与本身的ME.Handle一样.说明
MsgBox(Me.Handle)'返回值1443684 这个每次返回不变
返回的是句柄...不是说
fHwnd = FindWindow(vbNullString, "测试")
返回的也是句柄么...这样看是不是了,,,那返回的是什么呢......这个是常变的..请教中.......
franklyfly 2010-05-03
  • 打赏
  • 举报
回复
有没有人能做最后的结贴回答呀..............
IT_dream 2010-05-02
  • 打赏
  • 举报
回复
msgbox("显示信息",msgboxstyle.Information+msgboxstyle.Okonle,"提示信息")
这是我的程序里的消息框,语句,希望对你有用
franklyfly 2010-05-02
  • 打赏
  • 举报
回复

程序测自己的窗体句柄:
Dim fHwnd As Long
Dim Data As String
fHwnd = FindWindow(vbNullString, "测试")
msgBox(fHwnd)'返回值1075515898897762148这个每次返回都是不同
MsgBox(Me.Handle)'返回值1443684 这个每次返回不变
Call GetWindowText(Me.Handle, Data, 256)
MsgBox(Data)'返回空的
请问我的问题出在那.............
franklyfly 2010-05-02
  • 打赏
  • 举报
回复
我先测试函数的使用....
宝_爸 2010-05-01
  • 打赏
  • 举报
回复
Windows API:

HWND FindWindow(LPCTSTR lpClassName,
LPCTSTR lpWindowName
);
LRESULT SendMessage(HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam
);

P/Invoke:

[DllImport("User32.dll")]
static extern IntPtr FindWindow(string lpClassName,string lpWindowName);
[DllImport("User32.dll")]
static extern int SendMessage(IntPtr hWnd,int msg,int wParam,ref int lParam);
threenewbee 2010-05-01
  • 打赏
  • 举报
回复
findwindow或者enumwindows api查找handle。
然后postmessage(wm_close) 关闭。
xrongzhen 2010-05-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 franklyfly 的回复:]
我要完成的功能是...鼠标在网页上点击保存按钮,,,弹出保存对话框...程序判断出..对话框已经弹出.使能保存对话框的保存按钮.....
所以我要做到怎么判断那个保存对话框,,,

fHwnd = FindWindow(vbNullString, "保存")'找弹出的对话框

Call GetWindowText(fHwnd, Data, 256)'获取对话框文本

这……
[/Quote]

你确定弹出窗体的名称精确匹配吗? 还有GetWindowText取得这个窗口的名称,你这么做想干什么,名称你都知道了啊

用FindWindow获得Hwnd后,就已经确定了这个弹出对话框,下一步是怎么把它关闭。用SendMessage发送WM_CLOSE消息
捷哥1999 2010-05-01
  • 打赏
  • 举报
回复
网页弹出的对话框估计用FindWindow获取不到。
另外FindWindow如果找到对应的窗口,则返回不为0的整数。
lsh2216024 2010-05-01
  • 打赏
  • 举报
回复
路人甲。。。。。。
franklyfly 2010-05-01
  • 打赏
  • 举报
回复
我要完成的功能是...鼠标在网页上点击保存按钮,,,弹出保存对话框...程序判断出..对话框已经弹出.使能保存对话框的保存按钮.....
所以我要做到怎么判断那个保存对话框,,,

fHwnd = FindWindow(vbNullString, "保存")'找弹出的对话框

Call GetWindowText(fHwnd, Data, 256)'获取对话框文本

这二句测试没成功..不知道有什么特别注意的地方????请高手指教.
franklyfly 2010-05-01
  • 打赏
  • 举报
回复
Dim WinHwnd As Long
WinHwnd = FindWindow(vbNullString, "我的电脑")
MsgBox(WinHwnd)
我用的这个来测试的. 是不是应该在"我的电脑"图标没有打开时返回0.打开的状态下返回一个长串数.结果是不论不论"我的电脑"图标是不是打开了.都返回一串数.....不是说没有打开时是返回0的么.

16,549

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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