怎么在MFC启动时运行一个自己写好的循环函数,并能够使用按键改变里面的值
时间: 2023-11-27 13:55:26 浏览: 59
你可以在MFC的OnInitDialog函数中启动一个线程来运行你的循环函数。该线程可以使用CreateThread或_beginthreadex函数创建。在循环函数中,你可以通过GetAsyncKeyState函数获取按键状态,并根据按键状态改变相应的变量值。
以下是一个简单的示例代码:
```cpp
UINT MyThreadFunc(LPVOID pParam) {
// 循环函数中获取按键状态并改变变量值
while (true) {
if (GetAsyncKeyState('A') & 0x8000) {
// 'A'键按下,改变变量值
// ...
}
if (GetAsyncKeyState('B') & 0x8000) {
// 'B'键按下,改变变量值
// ...
}
// 等待一段时间
Sleep(10);
}
return 0;
}
BOOL CMyDialog::OnInitDialog() {
CDialog::OnInitDialog();
// 创建线程
HANDLE hThread = (HANDLE)_beginthreadex(NULL, 0, MyThreadFunc, NULL, 0, NULL);
return TRUE;
}
```
在这个示例中,MyThreadFunc是你自己编写的循环函数。在OnInitDialog函数中,你可以使用_beginthreadex函数创建一个线程来运行MyThreadFunc函数。在MyThreadFunc函数中,你可以使用GetAsyncKeyState函数获取按键状态,并根据按键状态改变相应的变量值。由于循环函数需要一直运行,因此需要在循环中添加一些等待时间的代码,这里使用Sleep函数等待10毫秒。
阅读全文