打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C#操作移动其他程序窗口

在做项目时候,曾经遇到一个问题,就是用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";//网页

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【新提醒】【U3D如何调用Win10的触摸键盘Touch KeyBoard非屏幕键盘(OSK.exe)】
C#启动进程之Process
C语言实现自动给QQ好友发窗口抖动
c#启动应用程序
总结C#启动外部程序的几种方法
在WinForm/C#中打开一个文件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服