MusicBee という名前の音楽プレーヤー用のプラグインを作成しています。プラグインは Logitech G キーボード LCD 用です。ここで、30 ミリ秒ごとにボタンのアクティビティを確認するので、ボタンを押すとすべてが高速になります。windows.h の setTimer 関数を使用しますが、dll ファイルで機能させることができません。誰かがこの小さな問題で私を助けることができますか??
私が持っているコードは次のとおりです(TimerProc関数は静的関数です):
Logitech * Logitech::LogitechObject;
Logitech::Logitech(): stopthread(false), firstTime(true), position(0), duration(0)
{
LogitechObject = this;
SetTimer(NULL, 1, 30, &Logitech::TimerProc);
}
Logitech::~Logitech()
{
stopthread = true;
this->state = StatePlay::Undefined;
timerThread.detach();
}
VOID CALLBACK Logitech::TimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
{
LogitechObject->time = 0;
LogitechObject->m_lcd.SetProgressBarPosition(LogitechObject->progressbar, static_cast<FLOAT>(100));
LogitechObject->m_lcd.Update();
SetTimer(NULL, 1, 30, &Logitech::TimerProc);
}