因此,假设我有一个使用Razer C ++ SDK的简单应用程序。
RZRESULT res = Init();
assert(res == RZRESULT_SUCCESS);
ChromaSDK::Keyboard::STATIC_EFFECT_TYPE effect{};
effect.Color = RGB(255, 0, 0);
// std::this_thread::sleep_for(std::chrono::seconds{1}); // THIS!
res = CreateKeyboardEffect(ChromaSDK::Keyboard::CHROMA_STATIC, &effect, NULL);
assert(res == RZRESULT_SUCCESS);
getchar();
res = UnInit();
assert(res == RZRESULT_SUCCESS);
奇怪的是,除非我将效果设置大约延迟一秒钟,否则该应用程序将无法运行。所有断言都可以通过,但是效果不适用。似乎正在发生某种异步初始化,而没有任何明确的方法来控制或观察它。难道我做错了什么?有没有一种方法可以在应用程序启动后立即立即启用效果?