C#操作移动其他程序窗口
2012-07-06 10:09
281 查看
在做项目时候,曾经遇到一个问题,就是用C#的WinForm,来打开一个使用C++编写的软件,并控制打开窗体位置和大小。
在这里使用了Win32 API来做的。可以使用C#根据窗体的路径,启动一个进程,然后使用Win32 API控制打开窗口的位置和大小。主要代码如下:
public class A
{
//调用Win32 API
[System.Runtime.InteropServices.DllImportAttribute("user32.dll", EntryPoint = "MoveWindow")]
public static extern bool MoveWindow(System.IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint);
//打开窗体方法,fileName是C++的窗体名称,包含路径
private void OpenAndSetWindow(String fileName)
{
Process p = new Process();//新建进程
p.StartInfo.FileName = fileName;//设置进程名字
p.StartInfo.CreateNoWindow = true;
p.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
p.Start();
MoveWindow(p.MainWindowHandle, 200, 300, 500, 400, true);
//p.MainWindowHandle是你要移动的窗口的句柄;200,300是移动后窗口左上角的横纵坐标;500,400是移动后窗口的宽度和高度;true表示移动后的窗口是需要重画
}
}
如果打开IE网页,可以成下面语句一句
p.StartInfo.FileName = "iexplore";
p.StartInfo.Arguments = "www.baidu.com";//网页
相关文章推荐
- C#操作移动其他程序窗口
- C#操作移动其他程序窗口
- C# 关闭其他程序窗口、进程
- delphi有关获取其他程序的窗口及对窗口内控件的操作
- C# 关闭其他程序窗口、进程
- c#控制其他程序窗口位置
- C#实现关闭其他程序窗口或进程代码分享
- c# 关闭其他程序窗口/进程
- C#进程启动程序,并禁止原窗口操作
- C# 关闭其他程序窗口、进程
- C#父窗口和其他窗口之间实现控件互操作
- C#隐藏其他程序窗口以及添加最小化/最大化按钮
- Java调用Win32实现操作其他程序窗口
- 在使用C#调用COM组件操作Excel的时候阻止其他程序对此文件操作
- c#/.net 基于文件流FileStream读写的文本操作小程序
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- C# 控制台程序如何能不显示窗口
- C# OleDbConnection操作access出现System.Data.OleDb.OleDbException其他信息: 未指定的错误
- c# 启动的时候向其他程序传值
- [C#]窗口的一些简单操作