MyException - 我的异常网
当前位置:我的异常网» J2SE » JFrame窗体如何嵌入一个cmd命令窗体

JFrame窗体如何嵌入一个cmd命令窗体(2)

www.MyException.Cn  网友分享于:2013-12-12  浏览:175次

OS.SetWindowLong(notepadHwnd, OS.GWL_STYLE, oldStyle & ~OS.WS_BORDER);

// composite为承载被启动程序的控件
OS.SetParent(notepadHwnd, composite.handle);
// 窗口最大化
OS.SendMessage(notepadHwnd, OS.WM_SYSCOMMAND, OS.SC_MAXIMIZE, 0);
}

protected void startCMD() throws Exception {
// "notepad.exe"为待启动的程序名
executeProg("cmd.exe");

// 等待NotePad.exe启动并且初始化完毕,需要根据实际情况调整sleep的时间
Thread.sleep(1000);

// "Notepad"为被嵌套程序窗口的ClassName(Win32级别),可以使用Spy++等工具查看
int notepadHwnd = OS.FindWindow(new TCHAR(0, "ConsoleWindowClass", true), null);

// &~WS_BORDER去掉内嵌程序边框,这样看起来更像一个内嵌的程序。如果需要显示边框,则将这两行代码删除
int oldStyle = OS.GetWindowLong(notepadHwnd, OS.GWL_STYLE);
OS.SetWindowLong(notepadHwnd, OS.GWL_STYLE, oldStyle & ~OS.WS_BORDER);

// composite为承载被启动程序的控件
OS.SetParent(notepadHwnd, composite.handle);
// 窗口最大化
OS.SendMessage(notepadHwnd, OS.WM_SYSCOMMAND, OS.SC_MAXIMIZE, 0);
}
}

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有