我在Visual C 2008中编写Windows应用程序,我想嵌入Windows附带的计算器(calc.exe).有谁知道这是否可能,如果是的话,你能给我一些关于如何实现这一目标的提示吗?
是的,可以将calc嵌入到您自己的应用程序中,但它仍然可以在它自己的进程空间中运行. UAC可能还会施加一些限制,但这取决于计算方法的推出方式.您需要做的就是更改主calc窗口的父级,并将其样式更改为WS_CHILD.
原文链接:https://www.f2er.com/windows/372161.htmlvoid 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); } }