首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

抄了个windows程序,可是把生成的exe程序关了之后,在任务管理其中依然还存在解决思路

2012-02-10 
抄了个windows程序,可是把生成的exe程序关了之后,在任务管理其中依然还存在它的进程,该怎么改一下啊?(出学

抄了个windows程序,可是把生成的exe程序关了之后,在任务管理其中依然还存在
它的进程,该怎么改一下啊?(出学,不要搞的很复杂啊)
#include <windows.h>
#include <stdlib.h>
#include <math.h>

const double Pi = 3.1415926;

LRESULT CALLBACK WndProc(//窗口过程函数 
 HWND hWnd, 
 UINT iMesssage, 
 WPARAM wParam, 
 LPARAM lParam 
);

double dfTheta = 0, dfRange = 100; //正弦曲线的角度变量
long i = 0, j =0;
long lCenterX=0,lCenterY=0,lRadious=(long)(0.2*dfRange); //定义圆心坐标和半径
POINT lpSin[100]; //定义正弦曲线的点坐标


int WINAPI WinMain(
 HINSTANCE hInstance, 
 HINSTANCE hPrevInstance, 
 LPSTR lpCmdLine, 
 int nCmdShow 
)
{
WNDCLASS WndClass;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.hbrBackground = (HBRUSH)(GetStockObject(WHITE_BRUSH));
WndClass.hCursor = LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
WndClass.hInstance = hInstance;
WndClass.lpfnWndProc = WndProc;
WndClass.lpszClassName = "SIN";
WndClass.lpszMenuName = NULL;
WndClass.style = 0;
if(!RegisterClass(&WndClass))
{
MessageBeep(0);
return FALSE;
}
HWND hWnd;
hWnd = CreateWindow("SIN","移动的圆",WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,0,
CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);
 ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
for(int j=0;j<100;j++) //生成正弦曲线的点坐标
{
lpSin[j].x = (long)(j*2*Pi/100*60);
lpSin[j].y = (long)(dfRange*sin(j*2*Pi/100));
}
 MSG Message;
while(GetMessage(&Message,hWnd,0,0))
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return Message.wParam;
}
LRESULT CALLBACK WndProc(
 HWND hWnd, 
 UINT iMessage, 
 WPARAM wParam, 
 LPARAM lParam 
)
{
switch(iMessage)
{
case WM_PAINT:
HBRUSH hBrush;
HDC hDC;
PAINTSTRUCT PtStr;
hDC = BeginPaint(hWnd,&PtStr);
SetWindowOrgEx(hDC,-200,-200,NULL); //设置圆点坐标为(-200,-200)
 HPEN hPen;
hPen = CreatePen(PS_DASH,1,RGB(255,0,0)); 
SelectObject(hDC,hPen);
Polyline(hDC,lpSin,100); //绘制正弦曲线
if(i<25) //第一个1/4周期
{

hPen = CreatePen(PS_DASH,1,RGB(255,0,0)); //创新红画笔
hBrush = CreateHatchBrush(HS_BDIAGONAL,RGB(255,0,0)); //创新红画刷
lRadious = (long)(dfRange*0.2+i%25*dfRange*0.4/25); //计算半径
}
else if(i<=50) //第二个1/4个周期
{

hPen = CreatePen(PS_DASH,1,RGB(0,255,0)); //创新绿画笔
hBrush = CreateHatchBrush(HS_BDIAGONAL,RGB(0,255,0)); //创新绿画刷
lRadious = (long)(dfRange*0.2+i%25*dfRange*0.4/25); //计算半径
}
else if(i<=75) //第三个1/4个周期
{

hPen = CreatePen(PS_DASH,1,RGB(0,0,255)); //创蓝绿画笔 
hBrush = CreateHatchBrush(HS_BDIAGONAL,RGB(0,0,255)); //创新绿画刷
lRadious = (long)(dfRange*0.2+i%25*dfRange*0.4/25); //计算半径
}
else //第二个1/4个周期
{

hPen = CreatePen(PS_DASH,1,RGB(255,255,0)); //创新黄画笔
hBrush = CreateHatchBrush(HS_BDIAGONAL,RGB(255,255,0)); //创新黄画刷
lRadious = (long)(dfRange*0.2+i%25*dfRange*0.4/25); //计算半径
}
 SelectObject(hDC,hBrush);
SelectObject(hDC,hPen);
lCenterX = lpSin[i].x; //圆心x坐标
lCenterY = lpSin[i].y;
Ellipse(hDC,lCenterX-lRadious,lCenterY-lRadious,
lCenterX+lRadious,lCenterY+lRadious);
 i++;
DeleteObject(hPen); //删除画笔
DeleteObject(hBrush);
EndPaint(hWnd,&PtStr); //删除设备环境指针
Sleep(100); //挺0。1秒
if(i<100) InvalidateRect(hWnd,NULL,1); //刷新用户区
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return(DefWindowProc(hWnd,iMessage,wParam,lParam));


}
}

[解决办法]

C/C++ code
    while(GetMessage(&Message,hWnd,0,0))     {         TranslateMessage(&Message);         DispatchMessage(&Message);     } 

热点排行