微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以在Windows中的另一个应用程序中嵌入一个应用程序?

我在Visual C 2008中编写Windows应用程序,我想嵌入Windows附带的计算器(calc.exe).有谁知道这是否可能,如果是的话,你能给我一些关于如何实现这一目标的提示吗?
是的,可以将calc嵌入到您自己的应用程序中,但它仍然可以在它自己的进程空间中运行. UAC可能还会施加一些限制,但这取决于计算方法的推出方式.您需要做的就是更改主calc窗口的父级,并将其样式更改为WS_CHILD.
void EmbedCalc(HWND hWnd)
{
    HWND calcHwnd = FindWindow(L"CalcFrame",NULL);
    if(calcHwnd != NULL)
    {
        // Change the parent so the calc window belongs to our apps main window 
        SetParent(calcHwnd,hWnd);

        // Update the style so the calc window is embedded in our main window
        SetwindowLong(calcHwnd,GWL_STYLE,getwindowlong(calcHwnd,GWL_STYLE) | WS_CHILD);

        // We need to update the position as well since changing the parent does not
        // adjust it automatically.
        SetwindowPos(calcHwnd,NULL,SWP_NOSIZE | SWP_NOZORDER);
    }
}

原文地址:https://www.jb51.cc/windows/372161.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐