ScrnSavePro.cpp
上传用户:wenliang_x
上传日期:2013-05-26
资源大小:19k
文件大小:2k
- #include "ScreenSave.h"
- //---------------------------------------------------------------------------
- //自定义的函数说明,在Finit.cpp
- BOOL InitApplication(HINSTANCE hInstance);
- HWND InitInstance(HINSTANCE hInstance,int nCmdShow);
- //---------------------------------------------------------------------------
- //整个程序入口函数,一般有固定结构:初始化->消息大循环->退出
- int WINAPI WinMain(HINSTANCE hInstance, //应用程序当前实例句柄
- HINSTANCE hPrevInstance, //应用程序前一个实例句柄
- LPSTR lpCmdLine, //命令行字符窜指针
- int nCmdShow) //应用程序的显示方式
- {
- TLines line[2]; //定义两个TLines(TLines.h)对象,画两堆线
-
- HWND hwnd; //窗口句柄
- MSG msg; //消息结构变量
- //是否已有其他应用程序副本在运行
- if (FindWindow("TLineWindow","Screen Save 1.0 by kk.h"))
- return false;
-
- if (!InitApplication(hInstance)) //若注册窗口类失败,自定义函数(Finit.cpp)
- return false;
- //产生应用程序的主窗口,并以nCmdShow指定方式显示,自定义函数(Finit.cpp)
- hwnd=InitInstance(hInstance,nCmdShow);
- if (!hwnd)
- return false;
- srand((unsigned)time(NULL)); //给随机数列播种
-
- //屏蔽Alt+Ctrl+Del,Alt+Tab键!!!! 呵呵,所以才退不出来
- int Dummy=0;
- SystemParametersInfo(97, 0, &Dummy, 0);
- while (TRUE){ //消息大循环
- if (PeekMessage(&msg,NULL,0,0,PM_REMOVE)) { //从应用程序队列提取消息
- if (msg.message==WM_QUIT) //如果接受到退出的消息WM_QUIT,整个程序将结束.
- break;
- TranslateMessage(&msg); //把键盘消息组合成相对的字符消息
- DispatchMessage(&msg); //将消息通过Windows系统送给专用的消息处理函数(Fwndproc.cpp)
-
- //消息处理函数(Fwndproc.cpp)处理完一条消息后返回的地方
- }
- else{
- //如果此应用程序没有接受到消息,不断循环,全速画线
- //调用TLines(TLines.cpp)对象的Draw(),做最主要的事情
- line[0].Draw(hwnd);
- line[1].Draw(hwnd);
- }
- }
- return(msg.wParam);
- }