ScrnSavePro.cpp
上传用户:wenliang_x
上传日期:2013-05-26
资源大小:19k
文件大小:2k
源码类别:

屏幕保护

开发平台:

Visual C++

  1. #include "ScreenSave.h"
  2. //---------------------------------------------------------------------------
  3. //自定义的函数说明,在Finit.cpp
  4. BOOL InitApplication(HINSTANCE hInstance);
  5. HWND InitInstance(HINSTANCE hInstance,int nCmdShow);
  6. //---------------------------------------------------------------------------
  7. //整个程序入口函数,一般有固定结构:初始化->消息大循环->退出
  8. int WINAPI WinMain(HINSTANCE hInstance,    //应用程序当前实例句柄
  9.                HINSTANCE hPrevInstance,    //应用程序前一个实例句柄
  10.                LPSTR lpCmdLine,            //命令行字符窜指针
  11.                int nCmdShow)               //应用程序的显示方式
  12. {
  13.    TLines line[2];  //定义两个TLines(TLines.h)对象,画两堆线
  14.    
  15.    HWND hwnd;       //窗口句柄 
  16.    MSG msg;          //消息结构变量
  17.    //是否已有其他应用程序副本在运行
  18.    if (FindWindow("TLineWindow","Screen Save 1.0 by kk.h"))
  19.       return false;
  20.    
  21.    if (!InitApplication(hInstance))  //若注册窗口类失败,自定义函数(Finit.cpp)
  22.       return false;
  23.    //产生应用程序的主窗口,并以nCmdShow指定方式显示,自定义函数(Finit.cpp)
  24.    hwnd=InitInstance(hInstance,nCmdShow);  
  25.    if (!hwnd)
  26.       return false;                        
  27.    srand((unsigned)time(NULL));  //给随机数列播种
  28.       
  29.    //屏蔽Alt+Ctrl+Del,Alt+Tab键!!!! 呵呵,所以才退不出来
  30.    int Dummy=0;  
  31.    SystemParametersInfo(97, 0, &Dummy, 0);
  32.    while (TRUE){  //消息大循环
  33.       if (PeekMessage(&msg,NULL,0,0,PM_REMOVE)) {  //从应用程序队列提取消息
  34.          if (msg.message==WM_QUIT)  //如果接受到退出的消息WM_QUIT,整个程序将结束.
  35.             break;
  36.          TranslateMessage(&msg); //把键盘消息组合成相对的字符消息
  37.          DispatchMessage(&msg);  //将消息通过Windows系统送给专用的消息处理函数(Fwndproc.cpp)
  38.  
  39.  //消息处理函数(Fwndproc.cpp)处理完一条消息后返回的地方
  40.   }                                      
  41.       else{
  42.   //如果此应用程序没有接受到消息,不断循环,全速画线
  43.   //调用TLines(TLines.cpp)对象的Draw(),做最主要的事情
  44.            line[0].Draw(hwnd);  
  45.            line[1].Draw(hwnd);
  46.       }
  47.    }
  48.    return(msg.wParam);
  49. }