⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exampl~1.cpp

📁 vc++net很不错的一个工具
💻 CPP
字号:
#include "stdafx.h"
#include "Example.h"
#include "ExampleDlg.h"
volatile int threadController;
const WM_THREADENDED = WM_USER + 100;

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

// CExampleDlg 对话框
CExampleDlg::CExampleDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CExampleDlg::IDD, pParent)
{
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CExampleDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
}

BEGIN_MESSAGE_MAP(CExampleDlg, CDialog)
	ON_MESSAGE(WM_THREADENDED, OnThreadended)
	//}}AFX_MSG_MAP
	ON_COMMAND(ID_STARTTHREAD, OnStartthread)
	ON_COMMAND(ID_STOPTHREAD, OnStopthread)
END_MESSAGE_MAP()

// CExampleDlg 消息处理程序
BOOL CExampleDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	SetIcon(m_hIcon, TRUE);			// 设置大图标
	SetIcon(m_hIcon, FALSE);		// 设置小图标
	// TODO:在此添加额外的初始化代码
	return TRUE;  // 除非设置了控件的焦点,否则返回 TRUE
}

UINT ThreadProc(LPVOID param)
{
	::MessageBox((HWND)param, "Thread is started!","Thread", MB_OK);
	while (threadController == 1)
	{ 
		;
	}
	::PostMessage((HWND)param, WM_THREADENDED, 0, 0);	
	return 0;
}

void CExampleDlg::OnStartthread()
{
	// TODO: 在此添加命令处理程序代码
	threadController = 1;
	HWND hWnd = GetSafeHwnd();
	AfxBeginThread(ThreadProc, hWnd, THREAD_PRIORITY_NORMAL);
}

void CExampleDlg::OnStopthread()
{
	// TODO: 在此添加命令处理程序代码
	threadController = 0;
}

LONG CExampleDlg::OnThreadended(WPARAM wParam, LPARAM lParam)
{
	AfxMessageBox("Thread is ended!");
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -