C# 调用外部winform程序,怎么隐藏其界面
我想用C#调用一个带可视化界面的程序,但是不想让它显示,只是要它生成的一个文件而已,怎么才能隐藏这个被调用的程序的图形界面呢?没有能在命令行里用的程序~ProcessWi...
我想用C#调用一个带可视化界面的程序,但是不想让它显示,只是要它生成的一个文件而已,怎么才能隐藏这个被调用的程序的图形界面呢?
没有能在命令行里用的程序~
ProcessWindowStyle.Hidden 也是不起作用... 展开
没有能在命令行里用的程序~
ProcessWindowStyle.Hidden 也是不起作用... 展开
3个回答
展开全部
应该要用windows api了。
开启程式后,获取程式的handle或用FindWindow的api获取启动的程式的窗口,然后使用ShowWindow api将其隐藏。
API :
[DllImport("user32.dll", EntryPoint = "FindWindowEx", SetLastError = true)]
static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
[DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)]
static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);
ShowWindow 的第二参数, 1 表示显示, 0 表示隐藏
开启程式后,获取程式的handle或用FindWindow的api获取启动的程式的窗口,然后使用ShowWindow api将其隐藏。
API :
[DllImport("user32.dll", EntryPoint = "FindWindowEx", SetLastError = true)]
static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
[DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)]
static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);
ShowWindow 的第二参数, 1 表示显示, 0 表示隐藏
展开全部
ProcessStartInfo ie = new ProcessStartInfo();
ie.FileName = "IEXPLORE.EXE";
ie.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(ie);
上面的代码打开了IE,同时隐藏了IE界面
ie.FileName = "IEXPLORE.EXE";
ie.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(ie);
上面的代码打开了IE,同时隐藏了IE界面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
他有提供支持在命令行里调用的 exe么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询