窗体内嵌外部程序的显示,获取控件的图片
2011-08-28 22:55
447 查看
#region 窗体内嵌外部程序的显示 [DllImport("User32.dll ", EntryPoint = "SetParent")] private static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent); [DllImport("user32.dll ", EntryPoint = "ShowWindow")] public static extern int ShowWindow(IntPtr hwnd, int nCmdShow); private void button1_Click(object sender, EventArgs e) { Process p = new Process(); p.StartInfo.FileName = "cmd.exe "; p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;//加上这句效果更好 p.Start(); System.Threading.Thread.Sleep(100);//加上,100如果效果没有就继续加大 SetParent(p.MainWindowHandle, panel1.Handle); //panel1.Handle为要显示外部程序的容器 //ShowWindow(p.MainWindowHandle, 3); } #endregion /// <summary> /// 获取控件的图片 /// </summary> /// <param name="Obj"></param> /// <returns></returns> private Bitmap DrawMeToBitmap(Control Obj) { Bitmap bmp = new Bitmap(Obj.Width,Obj.Height); Graphics g = Graphics.FromImage(bmp); using (Brush backColorBrush = new SolidBrush(Obj.BackColor)) { g.FillRectangle(backColorBrush, new Rectangle(0, 0, bmp.Width, bmp.Height)); foreach (Control ctl in Obj.Controls) { using (Bitmap b = new Bitmap(ctl.Width, ctl.Height)) { ctl.DrawToBitmap(b, ctl.ClientRectangle); g.DrawImage(b, ctl.Location); } } } return bmp; }
相关文章推荐
- 用CImage在picture控件上显示外部图片,并获取各像素颜色数据
- C#怎样实现窗体透明而控件不透明,或者就是怎样无窗体显示图片,就像圣诞那样的程序,不吝赐教!
- C#窗体内嵌外部程序(cmd.exe)的显示【转载】
- C#窗体内嵌外部程序(cmd.exe)的显示 转
- C#窗体内嵌外部程序(cmd.exe)的显示
- C#窗体内嵌外部程序(cmd.exe)的显示(转载)
- C#窗体内嵌外部程序(cmd.exe)的显示
- 获取该图片的文件名并将它及时的显示在FileUpload控件上
- delphi获取其他外部程序中TDBGridEh控件中的数据
- ButterKnife 加载控件 + xUtils 获取数据+ Fresco 显示图片 + 通过事件分发控制移动 + 通过AIDL获取数据
- 图片控件显示jpg图片的程序
- Android获取图片资源之——拍照后在程序中显示照片
- python 笔记 在windows下的程序 获取图片并显示出来
- c#窗体程序之tooltip控件显示鼠标位置
- C# 调用带参数的控制台程序 并将命令行输出的内容实时输出至窗体中的显示控件
- MFC入门(三)-- MFC图片/文字控件(循环显示文字和图片的小程序)
- OpenCV2.3调用摄像头程序,获取图片逐帧显示
- ButterKnife 加载控件 + xUtils 获取数据+ Fresco 显示图片 + 通过事件分发控制移动 + 通过AIDL获取数据
- 最完整的获取android手机图片并显示到控件的解决方案
- 获取该图片的文件名并将它及时的显示在FileUpload控件上