加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

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

发布时间:2020-12-13 20:44:05 所属栏目:Windows 来源:网络整理
导读:我在Visual C 2008中编写Windows应用程序,我想嵌入Windows附带的计算器(calc.exe).有谁知道这是否可能,如果是的话,你能给我一些关于如何实现这一目标的提示吗? 是的,可以将calc嵌入到您自己的应用程序中,但它仍然可以在它自己的进程空间中运行. UAC可能还会
我在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);
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读