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

前端之家收集整理的这篇文章主要介绍了是否可以在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.f2er.com/windows/372161.html

猜你在找的Windows相关文章