Hallo Forum,
ich hoffe der Titel ist richtig und zwar hab ich eine MFC Dialoganwendung unter Windows CE und sollte damit eine Hardware ansteuern. Nun habe ich hier ein Demoquellcode für die Ansteuerung:
Wie bekomm ich das jetzt in meiner MFC Anwendung hin?
Also WM_INITDIALOG geht ja noch, ist halt OnInitDialog(), nur weiß ich nicht genau wie ich ein Handle auf mein Fenster bekomme, also für die Funktion InitCardReader(hwndDlg).
Das WM_COMMAND und IDCANCEL sind ja einfach die OnButton() oder OnCancel() Funktionen, aber wie bekomme ich dieses WM_DEVICE_NOTIFY hin?
Vielen Dank im Voraus.
Grüße
Niko Will
ich hoffe der Titel ist richtig und zwar hab ich eine MFC Dialoganwendung unter Windows CE und sollte damit eine Hardware ansteuern. Nun habe ich hier ein Demoquellcode für die Ansteuerung:
Code:
BOOL CALLBACK TweakDialogProc(HWND hwndDlg, // handle to the dialog box
UINT uMsg, // message
WPARAM wParam, // first message parameter
LPARAM lParam) // second message parameter
{
switch(uMsg)
{
case WM_INITDIALOG:
InitCardReader(hwndDlg);
SetDlgItemText(hwndDlg, IDC_STATIC_READERINFO, GetReaderInfo());
return TRUE;
case WM_DEVICE_NOTIFY:
if(wParam == DNS_SCARD) // may occure any time after InitCardReader()
ShowSC(hwndDlg, (SlotInfo*)lParam);
else if(wParam == DNS_MCARD) // occures only on request
{
fReading = FALSE;
SetDlgItemText(hwndDlg, IDC_BUTTON_READ_MAG_CARD, L"Read Card");
ShowMC(hwndDlg, (MagCard*)lParam);
}
break;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDC_BUTTON_READ_MAG_CARD:
if(fReading)
{
fReading = FALSE;
SetDlgItemText(hwndDlg, IDC_BUTTON_READ_MAG_CARD, L"Read Card");
SetDlgItemText(hwndDlg, IDC_STATIC_MAGINFO, L"MagCard reading canceled");
CancelMagCard();
}
else
{
fReading = TRUE;
SetDlgItemText(hwndDlg, IDC_BUTTON_READ_MAG_CARD, L"Cancel");
SetDlgItemText(hwndDlg, IDC_STATIC_MAGINFO, L"Waiting for MagCard...");
ReadMagCard();
}
break;
case IDCANCEL:
EndDialog(hwndDlg, 0);
StopCardReader();
break;
}
return TRUE;
}
return FALSE;
}
Wie bekomm ich das jetzt in meiner MFC Anwendung hin?
Also WM_INITDIALOG geht ja noch, ist halt OnInitDialog(), nur weiß ich nicht genau wie ich ein Handle auf mein Fenster bekomme, also für die Funktion InitCardReader(hwndDlg).
Das WM_COMMAND und IDCANCEL sind ja einfach die OnButton() oder OnCancel() Funktionen, aber wie bekomme ich dieses WM_DEVICE_NOTIFY hin?
Vielen Dank im Voraus.
Grüße
Niko Will