// Time.cpp : Defines the entry point for the application. // #include "stdafx.h" #include<stdio.h> #include "resource.h" HWND hwndEdit; HWND hwndEdit1; DWORD WINAPI ThreadProc(LPVOID lpParameter) { TCHAR szBuff[10] = {0}; int num = 0; GetWindowText(hwndEdit, szBuff, 10); sscanf(szBuff, "%d", &num); while(num > 0) { --num; sprintf(szBuff, "%d", num); Sleep(1000); SetWindowText(hwndEdit, szBuff); } return 0; } DWORD WINAPI ThreadProc1(LPVOID lpParameter) { TCHAR szBuff[10] = {0}; int num = 0; GetWindowText(hwndEdit1, szBuff, 10); sscanf(szBuff, "%d", &num); while(num < 1000) { ++num; sprintf(szBuff, "%d", num); Sleep(1000); SetWindowText(hwndEdit1, szBuff); } return 0; } BOOL CALLBACK ProcDlg(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { TCHAR szBuff[10] = {0}; int num = 0; switch(uMsg) { case WM_CLOSE: EndDialog(hwnd, 0); break; case WM_INITDIALOG: hwndEdit = GetDlgItem(hwnd, IDC_EDIT1); SetWindowText(hwndEdit, "1000"); hwndEdit1 = GetDlgItem(hwnd, IDC_EDIT2); SetWindowText(hwndEdit1, "0"); return TRUE; case WM_COMMAND: switch(LOWORD(wParam)) { case IDC_BUTTON: HANDLE hThread = ::CreateThread(NULL, 0, ThreadProc, NULL, 0, NULL); ::CloseHandle(hThread); HANDLE hThread1 = ::CreateThread(NULL, 0, ThreadProc1, NULL, 0, NULL); ::CloseHandle(hThread1); return TRUE; } } return FALSE; } int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // TODO: Place code here. DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG), NULL, ProcDlg); return 0; }