社区
C#
帖子详情
如何获取一个 第三方窗口 中的相关控件信息?
jingxijun
2004-09-09 10:06:05
对应一个 第三方窗口,如:
姓名: _______ (需输入)
密码: _______ (需输入)
确定 退出 注册
如何获得如 “姓名”后的TEXTBOX的ID或确定等的ID?
注意:
若用鼠标定位再获取其ID的方法不行,因为我在这次取得ID号后,确定进去后,再
返回到此窗口,这些ID会变。
如果能象自己写的那样 有 textBox1,textBox2,Button1等ID就好了。
...全文
237
25
打赏
收藏
如何获取一个 第三方窗口 中的相关控件信息?
对应一个 第三方窗口,如: 姓名: _______ (需输入) 密码: _______ (需输入) 确定 退出 注册 如何获得如 “姓名”后的TEXTBOX的ID或确定等的ID? 注意: 若用鼠标定位再获取其ID的方法不行,因为我在这次取得ID号后,确定进去后,再 返回到此窗口,这些ID会变。 如果能象自己写的那样 有 textBox1,textBox2,Button1等ID就好了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wtyjl
2004-11-22
打赏
举报
回复
结帐
jingxijun
2004-10-29
打赏
举报
回复
up
jingxijun
2004-09-28
打赏
举报
回复
本来以为可以,但没成功啊。
谁做过?
hivak47
2004-09-27
打赏
举报
回复
用api获得当前窗口的资源不可以吗?
jingxijun
2004-09-24
打赏
举报
回复
我坚持
jingxijun
2004-09-21
打赏
举报
回复
up
jingxijun
2004-09-20
打赏
举报
回复
谢谢。
程序间谍和SPY++差不多,好象没用
comeon_data
2004-09-18
打赏
举报
回复
到最后一页了,帮你顶到前面去
dldl
2004-09-17
打赏
举报
回复
我的邮箱是:bianjingyu@dlyy.com.cn
发邮件给我,我发程序给你。
jingxijun
2004-09-17
打赏
举报
回复
up
jingxijun
2004-09-14
打赏
举报
回复
恕俺水平低凹:
"使用api函数,得到窗体的handle,然后再得到窗体上面控件的handle,然后postmessage就行了"中的 窗体handle可以根据窗体名称容易求得,但困难就是如何求得该窗体上的某个控件
的handle,若知道了此handle也可以容易postmessage了。
“程序间谍”:能否告诉下载地址?
dldl
2004-09-14
打赏
举报
回复
jingxijun(大梦)已经说得很清楚了,使用api函数,得到窗体的handle,然后再得到窗体上面控件的handle,然后postmessage就行了。我们单位的100多台电脑瑞星升级就是我这么做的。你还可以使用程序间谍这个软件察看窗体的名称,控件的名称……。然后就自己做了。
xjliang007
2004-09-14
打赏
举报
回复
up
jingxijun
2004-09-14
打赏
举报
回复
如何获得?
zoti
2004-09-13
打赏
举报
回复
先要获得句柄
yingshis
2004-09-13
打赏
举报
回复
up
yellowhwb
2004-09-13
打赏
举报
回复
你试试,用反射把dll里的类的属性,方法等信息给搞出来。或者,直接用ildasm.exe把第三方窗口的dll的中间语言代码给显示出来,再研究一下!
jingxijun
2004-09-13
打赏
举报
回复
怎么办呢?
jingxijun
2004-09-10
打赏
举报
回复
急啊
jingxijun
2004-09-09
打赏
举报
回复
我也是这么想的,但如何能准确获得 窗口中的资源?
虽然可以用FindWindow()找到某标题的窗口,但再用FindWindowEx()
继续查找该窗口中的某个资源的ID时,却不成功,如我例中的“确定”,
我的部份代码如下:
例:
[DllImport("user32.dll")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll")]
public static extern IntPtr FindWindowEx(IntPtr hwndParent,IntPtr hwndChildAfter,string lpszClass,string lpszWindow);
[DllImport("user32.dll",CharSet=CharSet.Unicode)]
public static extern IntPtr PostMessage(IntPtr hwnd,int wMsg,IntPtr wParam,IntPtr lParam);
IntPtr hwnd_textbox;
string strtext;
hwnd_win = FindWindow(null, this.textBox9.Text.Trim());
if (hwnd_win == IntPtr.Zero)
{
MessageBox.Show("警告:找不到目标窗口:" + this.textBox9.Text.Trim());
return;
}
//this.textBox10.Text.Trim()是我指定窗口中的某个资源,如“确定”,textBox1等
hwnd_textbox = FindWindowEx(hwnd_win, new IntPtr(0), null, this.textBox10.Text.Trim());
加载更多回复(5)
c#嵌入
一个
外部exe程序到程序窗体
将
一个
外部exe程序整个嵌入到当前程序界面
中
,让其融为一体。
C# 实现完整功能的截图
控件
C# 实现完整功能的截图
控件
,便于vs调用
第三方
控件
VB ActiveX
控件
VB ActiveX
控件
众多漂亮的
控件
收集了我经常使用的众多漂亮的ActiveX
控件
,是你美化程序界面,丰富程序功能的好帮手。
Microsoft Spy++ v7.1
中
文版
Microsoft Spy++ v7.1
中
文版Microsoft Spy++是
一个
非常好的查看Windows操作系统的
窗口
、消息、进程、线程
信息
的工具,简单易用,功能强大(Delphi也提供了
一个
类似的工具WinSight32,但在方便性、易用性上实在不及Spy++)。此工具一直随Microsoft Visual Studio发行,在Microsoft Visual Studio 2003
中
微软
中
文化了该工具,包括帮助,此版本就来源于Microsoft Visual Studio 2003,使用时无需安装,直接运行Spy++可执行文件即可。
一个
小窍门(可能大多数人都知道):你想知道
一个
软件是用什么开发工具制作而成的吗?哪就使用Spy++查看该程序的
窗口
或
控件
,如果
窗口
或
控件
的类名均以T开头,那有非常大的几率表明该软件就是用Delphi或者C++ Builder开发而成,同时根据Spy++获得的
控件
类名你还可以知道该软件使用了什么
第三方
组件,是不是很有用?By netrobo2005-7-11
WPF
中
使用webbrowser
wpf
中
使用webbrowser. 较好的解决了AllowsTransparency="Ture"这个问题.
C#
111,120
社区成员
642,545
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章