m,LPARAM lParam )
{
//sign是CKillView类中的一个
protected型int变量,初始值为0。
sign=0;
::EnumWindows( ( WNDENUMPROC )EnumWindowP,0 );
}
---- 关于EnumWindows()函数在各类杂志中均有介绍,此处不多作介绍.要详知看msdn. EnumWindowP()函数为一全局函数,代码如下:
BOOL CALLBACK EnumWindowP
( HWND hWnd,LPARAM lParam )
{
CWnd *pWnd=CWnd::
FromHandle( hWnd );
if( pWnd->IsWindowVisible() )
{
CString str;
pWnd->GetWindowText(str);
if(!str.IsEmpty()&&
( str.CompareNoCase( "program manager" )!=0 ) )
{
sign++;
if( sign==1 )
{
pWnd>SendMessage( WM_SYSCOMMAND,
SC_CLOSE, MAKELPARAM( 123,123 ) );
}
}
return true;
}
---- 此外还需为通知栏图标响应消息,添加菜单并响应菜单函数,因不是本文主题,在此不作介绍.
---- 以上
程序在win97,win98,win2000中均获通过