一。WIN32+OPENGL32+SCRNSAVE.H
二。目前实现功能:FLAG效果,随机切换图片。 
三。存在问题:无法在“设置”对话框下对屏保施加影响,即:
    ScreenSaverProc()与ScreenSaverConfigureDialog()的关系。具体代码如下:
LRESULT CALLBACK ScreenSaverProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){
   
         
    RECT rect;
        
        switch (message)         {
        case WM_CREATE:
                  {
  InitGLScreen(hWnd);
      GetClientRect(hWnd,&rect);
      ReSizeGLScene(rect.right, rect.bottom); // Set Up Our Perspective GL Screen
                      TimerID=SetTimer(hWnd,0,Speed,NULL); 
  
                      break;
  }
                              case WM_DESTROY:
   {
                       PostQuitMessage(0);
   if(TimerID)
   KillTimer(hWnd,0);
                       KillGLWindow(hWnd);
                       break;  
   }
               case WM_TIMER:
   {
     HDC hDC=GetDC(hWnd);
     DrawGLScene();
                         SwapBuffers(hDC);
 break;
   }               default: 
          return DefScreenSaverProc(hWnd,message,wParam,lParam);
          }        return 0;}
 
 BOOL WINAPI ScreenSaverConfigureDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam){ 
char *Temp=NULL;
   
  
        switch (message) 
{
            
 
 
   case WM_INITDIALOG:
   {
   
                HWND hwndCombo = GetDlgItem(hDlg, IDC_COMBO1); 
 
                // Add an item for each food group. 
              for(int i=0;i<3;++i)
  {
                Temp=PicsShowName[i];
                SendMessage(hwndCombo, CB_ADDSTRING, 0,(LPARAM) (LPCSTR)Temp); 
  }
  SendDlgItemMessage(hDlg, IDC_COMBO1, CB_SETCURSEL, 0, 0);              hwndCombo=GetDlgItem(hDlg,IDC_COMBO2);
               for(i=0;i<3;++i)
  {
                Temp=Level[i];
                SendMessage(hwndCombo, CB_ADDSTRING, 0,(LPARAM) (LPCSTR)Temp); 
  }
  
              SendDlgItemMessage(hDlg, IDC_COMBO2, CB_SETCURSEL, 0, 0);
               
  
 
   
     break;
   }
           case WM_COMMAND: { //处理 确定 按钮                if (LOWORD(wParam) == IDOK) 
{
/////////////////////////////////////////////////////////////    
  HWND hwndCombo = GetDlgItem(hDlg, IDC_COMBO2);
//pos =SendMessage(hwndCombo,CB_GETCURSEL,0,0);
//Speed=(10+pos*10);
hwndCombo = GetDlgItem(hDlg, IDC_COMBO1);
pos = SendMessage(hwndCombo,CB_GETCURSEL,0,0); 
////////////////////////////////////////////////////////////////  
 
                        EndDialog(hDlg, LOWORD(wParam));

                        return TRUE;
}
 
          else if(LOWORD(wParam) == IDCANCEL)
{
                                        EndDialog(hDlg, LOWORD(wParam));
                                        return TRUE;
}
 
               break;
}
  

default:;
        }
        return FALSE;
}
/////////////////////////////////////////////////////////////////////////////////////
在斜杠圈住的区域,无论POS变量是全局的还是静态的,在运行时都无法在ScreenSaverProc()中起到作用,也就是我的屏保设置对话框没有作用,这是怎么回事,高手多指教!