如何让任何程序都能在我的窗口中运行? 我想编一个东西,让其它的程序都能在它的窗口中运行,类似于《让你的泡泡在窗口中运行》(不过这个做的不太好),哪位大侠能给个明确思路?如果已经有现成的程序,那就更好了,还请您告诉我,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我有一个模拟 Windows 桌面、开始菜单和任务栏的东东,不知道是不是你需要的那一种。 怎么搞?是不是用SetParent函数? needways(needways) 能把你的东西贴出来吗?谢谢! 用EnumWindow枚举所有主窗口句柄,并在枚举时用SetParent()将它们的父亲设成你的程序。 zkxz,楼上的说法是不是真的可行?我也需要这样的解决方法。关注。 我的程序很大啊。因为我原来实现的功能就是要跟 Windows 一样,支持窗口创建与删除时自动从任务栏添加或删除等。 zkxz() 能说详细点吗?最好是能有代码谢谢! 不光是SetParent,估计你还得挂一堆函数钩子,因为很有一些程序会检查顶级的父窗口………… void CMyDlg::OnButton() { // TODO: Add your control notification handler code here ::EnumWindows(ListWindow,LPARAM(AfxGetMainWnd()));}BOOL CALLBACK CMyDlg::ListWindow(HWND hWnd, LPARAM lParam){ BOOL bRetVal=TRUE; CMyDlg *dlg=(CMyDlg*)lParam; if(hWnd==dlg->GetSafeHwnd()) { //This Window } else if(::GetParent(hWnd)!=NULL) { //Not Main Window } else if(::GetWindowLong(hWnd,GWL_EXSTYLE)&WS_EX_TOOLWINDOW) { //Is Tool Window } else if(!::IsWindowVisible(hWnd)) { //Not Visible Window } else if(::GetWindowTextLength(hWnd)==0) { //No Caption } else //Is the Main Window We Find { ::SetParent(hWnd,dlg->GetSafeHwnd()); } return bRetVal;}这只是个简单的例子,我当初并没有朝这个方向想,所以这还有很多不完善的地方。我只能提供给你一个思路,具体还要靠你来实现。 搜索注册表,用一个dlg显示他们的连接文件,双机的响应函数可以用类shell的api命令调用运行所选的程序。 ShellExecute()WinEx()CreateProcess() 关于程序员的就业 弹出的子窗口和父窗口一起移动? OnMouseMove问题。 关于自己写的BHO在遨游上不能正常运行的问题 用图片做按钮可以吗 VC中使用MsXml2.lib静态连接,如何查找节点,高手帮忙啊? 请教一个简单问题 有人能说说皮肤的原理吗? 有关ms office2000 web components 中的chart的问题 如何关闭由SetTimer()设定定时器?? 我用socket api 做的ftp client,出现了问题。请看关键部分的代码. 串口通讯有几种方法,在单文档类型中如何使用?
谢谢!
能说详细点吗?最好是能有代码
谢谢!
{
// TODO: Add your control notification handler code here
::EnumWindows(ListWindow,LPARAM(AfxGetMainWnd()));
}BOOL CALLBACK CMyDlg::ListWindow(HWND hWnd, LPARAM lParam)
{
BOOL bRetVal=TRUE;
CMyDlg *dlg=(CMyDlg*)lParam; if(hWnd==dlg->GetSafeHwnd())
{
//This Window
}
else if(::GetParent(hWnd)!=NULL)
{
//Not Main Window
}
else if(::GetWindowLong(hWnd,GWL_EXSTYLE)&WS_EX_TOOLWINDOW)
{
//Is Tool Window
}
else if(!::IsWindowVisible(hWnd))
{
//Not Visible Window
}
else if(::GetWindowTextLength(hWnd)==0)
{
//No Caption
}
else //Is the Main Window We Find
{
::SetParent(hWnd,dlg->GetSafeHwnd());
} return bRetVal;
}
这只是个简单的例子,我当初并没有朝这个方向想,所以这还有很多不完善的地方。我只能提供给你一个思路,具体还要靠你来实现。
WinEx()
CreateProcess()