各位大侠,如题,我想让我的程序运行起来之后,首先最大化显示,然后独占整个wingdows屏幕,用户不能切换到别的窗口去,不能点开始按钮,意思就是当我的程序运行后,是用户可以操作的唯一程序,直道用户点退出。
给分
给分
解决方案 »
- MFC WAV格式音频播放问题
- [win32]请问如何绘制带有alpha半透明效果的图片??
- 改变Clistctrl位图的位置
- 如何将C++ Builder 的项目转化为VC++的项目呢?
- 如下
- 给 DentistryDoctor(牙科医生)分,斑竹不要移到非技术去,谢谢。
- 请大家来看一下数字游戏算法,来者有分,非资深者也多多来学习csdn上真正的高手,一定受益非浅1!
- 哪个api是执行一个外部程序的,比如用notebook.exe 打开一个txt?
- 人事管理系统,用sql server 和 VC++ 6.0 该怎么做
- 能否给出句柄的通俗解释?
- 《Windows程序设计》中关于画笔的问题。。
- 设置USB suspend模式??
你究竟想怎么个独占法?类似病毒那种?
将当前窗体设置为最前面的窗口。其他程序就看不见了,但是你要先让他全屏,而且没有可以最小化的按钮等,不响应win+D键等。
alt+tab,win+D等都需要被禁止。
操作是比较多,还请各位大侠指点指点,一定涌泉加分!!
结贴如下:
1、在InitInstance()里在pMainFrame->UpdateWindow();这行之后添加如下:
::SetWindowPos(m_pMainWnd->m_hWnd,HWND_TOPMOST,0,0,0,0,
SWP_NOACTIVATE | SWP_NOSIZE | SWP_NOMOVE | SWP_SHOWWINDOW);
这样主窗口就top-most了。
2、下一步,去掉最大最小按钮,在CMainFrame::PreCreateWindow(CREATESTRUCT& cs)里:
cs.style = cs.style & ~(WS_MAXIMIZEBOX | WS_MINIMIZEBOX);
3、然后重载
//disable double click on no-client area, do nothing
void CMainFrame::OnNcLButtonDblClk( UINT nHitTest, CPoint point )
{
}
//disable drag-drop action on main frame
void CMainFrame::OnNcLButtonDown( UINT nHitTest, CPoint point )
{
if (nHitTest == HTCAPTION )
;
else
CFrameWnd::OnNcLButtonDown(nHitTest, point);
}大功告成!
谢谢各位的帮助,让我受益匪浅!
我将自己的代码放在这里,希望对其他有类似问题的朋友有点帮助。