紧急求助!!请各位高手帮我看一下这段程序,不知如何是好!!(高分求教!!!)
wwx79 2002-06-18 10:47:40 我想使我的应用程序在运行时不在任务栏上显示出来,于是我在程序中加入了以下一段语句:
DWORD Style = ::GetWindowLong(AfxGetMainWnd()->m_hWnd,GWL_EXSTYLE);
Style = WS_EX_TOOLWINDOW ;
AfxGetMainWnd()->ShowWindow(FALSE);
::SetWindowLong(AfxGetMainWnd()->m_hWnd,GWL_EXSTYLE,Style);
AfxGetMainWnd()->ShowWindow(TRUE);
我是用MFC向导自动生成的基于对话框的程序,这段被加入到DLG.modal();函数之前,编译时没有出错,但是运行时却总是提示出现以下错误:
debug Assertion Failed!
Program:E:\WIN98WORK\DEVELOP\APPLICATION\TEST2\DEBUG\TEST2.EXE
FILE:winocc.cpp
line:301
For information on how your program can cause an assertion
failure,see the Visual C++documentation on asserts.
(Press Retry to debug the application)
其中:E:\WIN98WORK\DEVELOP\APPLICATION\TEST2\DEBUG\TEST2.EXE为我的编译的程序的文件名。
然后又有网友给了我另外一个方法,就是在程序中加入以下一段程序:
int CMydg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;
ModifyStyleEx(0xfffffff,WS_EX_LEFT|WS_EX_LTRREADING|WS_EX_RIGHTSCROLLBAR|
WS_EX_PALETTEWINDOW|WS_EX_CONTROLPARENT,SWP_FRAMECHANGED);//使程序不在任务栏上出现
return 0;
}
我也在DLG.modal()之前调用这个函数,跟以上的错误一样,这下把我给搞糊涂了。请高手们赶快帮帮我!!!!
如果有更好的方法请一定告诉我一下,谢谢!!!