.net如何控制一个VC写的程序

freeboy827 2009-09-09 10:37:51
例如,别人用VC写的程序实现加法,两个输入框,一个按钮一个显示结果的LABEL

我想用.NET写个程序,先在两个输入框里写入值,再点击按钮,再捕获结果
只是举个例子,VC的程序没有这么简单,原理是一样的
请大家指教啊,分不够可以加
...全文
177 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjh222 2009-09-10
  • 打赏
  • 举报
回复
你想C#控制C++是不可能的,只能调用,相反C++控制C#是可以的,因为C#的编译器是C++写的
freeboy827 2009-09-10
  • 打赏
  • 举报
回复
如果只查找BUTTON没问题
freeboy827 2009-09-10
  • 打赏
  • 举报
回复
我用C#写了一个WINFORM程序,有两个文本框和一个按钮,可是就找不到按钮
请大家帮忙看看


private void SearchWindow1()
{

//下面的这些参数都可以用Spy++查到
string lpszParentClass = "WindowsForms10.Window.8.app.0.378734a"; //整个窗口的类名
string lpszParentWindow = "Form1"; //窗口标题
string lpszClass = "WindowsForms10.EDIT.app.0.378734a"; //需要查找的子窗口的类名,也就是输入框

string lpszClass_Submit = "WindowsForms10.BUTTON.app.0.378734a"; //需要查找的Button的类名
string lpszName_Submit = "test"; //需要查找的Button的标题
string text = string.Empty;

IntPtr ParenthWnd = new IntPtr(0);
IntPtr EdithWnd = new IntPtr(0);

//查到窗体,得到整个窗体
ParenthWnd = FindWindow(lpszParentClass, lpszParentWindow);
if (!ParenthWnd.Equals(IntPtr.Zero))
{
EdithWnd = FindWindowEx(ParenthWnd, EdithWnd, lpszClass, "");
if (!EdithWnd.Equals(IntPtr.Zero))
{
text = "aaa";
//调用SendMessage方法设置其内容
SendMessage(EdithWnd, WM_SETTEXT, (IntPtr)0, text);

}


//得到Button这个子窗体,并触发它的Click事件
EdithWnd = FindWindowEx(ParenthWnd, EdithWnd, lpszClass_Submit, lpszName_Submit);

if (!EdithWnd.Equals(IntPtr.Zero))
{
SendMessage(EdithWnd, WM_CLICK, (IntPtr)0, "");

}
}


}
TTOJJ 2009-09-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 cnzdgs 的回复:]
可以用API实现。先用SPY++查出按钮ID,程序中用FindWindow查找窗口句柄,再用FindWindowEx查找输入控件句柄,然后用SendMessage向输入框发WM_SETTEXT消息设置其内容,再向窗口发送WM_COMMAND消息模拟点击按钮(给出按钮ID)。消息的有关参数在MSDN中有说明。
[/Quote]
结贴吧
threenewbee 2009-09-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 cnzdgs 的回复:]
可以用API实现。先用SPY++查出按钮ID,程序中用FindWindow查找窗口句柄,再用FindWindowEx查找输入控件句柄,然后用SendMessage向输入框发WM_SETTEXT消息设置其内容,再向窗口发送WM_COMMAND消息模拟点击按钮(给出按钮ID)。消息的有关参数在MSDN中有说明。
[/Quote]
这个说的基本正确。
另外简单一点的可以模拟按键,使用 SendKeys
http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.aspx
cnzdgs 2009-09-09
  • 打赏
  • 举报
回复
可以用API实现。先用SPY++查出按钮ID,程序中用FindWindow查找窗口句柄,再用FindWindowEx查找输入控件句柄,然后用SendMessage向输入框发WM_SETTEXT消息设置其内容,再向窗口发送WM_COMMAND消息模拟点击按钮(给出按钮ID)。消息的有关参数在MSDN中有说明。
lnwuyaowei 2009-09-09
  • 打赏
  • 举报
回复
回错了。汗。
lnwuyaowei 2009-09-09
  • 打赏
  • 举报
回复
直接加入html标签。
qlzf11140820 2009-09-09
  • 打赏
  • 举报
回复
可能要用到hook
freeboy827 2009-09-09
  • 打赏
  • 举报
回复
FindWindow
是不是要用这个啊
freeboy827 2009-09-09
  • 打赏
  • 举报
回复
没有接口,也没有源程序
风之影子 2009-09-09
  • 打赏
  • 举报
回复
VC写的没有源程序吗?

那应该有接口以.

要不无法衔接
非常经典的高校C# .net开发教程,《Visual C#.NET程序设计》作者,李兰友,杨晓光,清华出版社,北交出版社,含有书籍和源码。 本书主要介绍Visual C#.NET应用程序设计技术。内容包括:Visual C#.NET集成环境,常用Windows窗体控件,工程界面设计,C#.NET程序设计基础,图形、图像处理、数据库应用、Web应用及应用程序设计实践等。在完成本书的学习和实践后,学生可以在C#的应用程序开发技能方面得到较大提高。本书可作为高等学校计算机程序设计语言课程教科书,亦适合于工程技术人员参考。 目录 第1章 Visual C#.NET集成环境 1.1 创建一个Visual C#应用程序 1.2 Visual Studio .NET主要窗口及用法 1.3 Visual Studio .NET的菜单栏和工具条 本章小结 习题 第2章 C#语言基础 2.1 数据类型 2.2 表达式 2.3 程序控制语句 本章小结 习题 第3章 C#.NET面向对象程序设计 3.1 类 3.2 接口 3.3 委托与事件 3.4 编译和调试 本章小结 习题 第4章 常用Windows窗体控件 4.1 文本控件 4.2 列表选择控件 4.3 图形显示控件 4.4 选择控件 4.5 定时控件 4.6 Button控件 本章小结 习题 第5章 Windows应用程序界面设计 5.1 命令按钮界面设计 5.2 菜单界面设计 5.3 单选按钮界面设计 5.4 MDI界面设计 5.5 工具栏界面设计 5.6 状态栏界面设计 本章小结 习题 第6章 文本编辑器设计 6.1 RichTextBox控件 6.2 通用对话框控件 6.3 文本编辑器设计 本章小结 习题 第7章 C#图形程序设计基础 7.1 GDI+绘图基础 7.2 基本图形的绘制 7.3 实用图形程序设计 本章小结 习题 第8章 VC#图像处理基础 8.1 VC#图像处理基础 8.2 图像的输入和保存 8.3 图像拷贝和粘贴 8.4 彩色图像处理 8.5 动画 本章小结 习题 第9章 数据库应用 9.1 概述 9.2 ADO.NET对象 9.3 ADO.NET编程应用示例 本章小结 习题 第10章 Web应用 10.1 ASP.NET基础 10.2 ASP.NET服务器组件 10.3 Web服务 10.4 XML 10.5 ASP.NET编程应用示例 本章小结 习题 第11章 应用程序设计实践 11.1 电子邮箱程序设计 11.2 Web浏览器程序设计 11.3 彩图处理 11.4 统计图表 11.5 五子棋 本章小结 习题 参考文献

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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