Вы должны создать окно для получения события от функции SGFPM_EnableAutoOnEvent, они, вероятно, используют функцию SendMessage или PostMessage , в любом случае вы создаете службу Windows, и у них естьне пользовательский интерфейс, службы работают на winstation0, и пользовательский интерфейс недоступен для зарегистрированных пользователей, ваше окно в любом случае будет скрыто.
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_APP_SGAUTOONEVENT:
WORD isFinger= wParam;
SGDeviceInfoParam device_info;
memcpy(&device_info, (SGDeviceInfoParam*)lParam,sizeof(device_info));
//Add your code here...
return 1;
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
HWND CreateMyWindow(){
static const char* class_name = "DUMMY_CLASS";
WNDCLASSEX wx = {};
wx.cbSize = sizeof(WNDCLASSEX);
wx.lpfnWndProc = WndProc; // function which will handle messages
wx.hInstance = current_instance;
wx.lpszClassName = class_name;
if ( RegisterClassEx(&wx) ) {
return CreateWindowEx( 0, class_name, "dummy_name", 0, 0, 0, 0, 0, HWND_MESSAGE, NULL, NULL, NULL );
}
return NULL;
}
, затем с помощью функции CreateMyWindow вы можете передать этот параметр ввызов SGFPM_EnableAutoOnEvent