我创建了一个 DLL 来替换 GINA。当我调用WlxDialogBoxParam
显示我自己的登录对话框时,该对话框没有激活。我究竟做错了什么?我已经尝试过调用SetActiveWindow
该WM_INITDIALOG
事件,但这似乎没有帮助。
我WlxDialogBoxParam
用以下参数调用:
WlxDialogBoxParam(hWlx, GetMyInstance(), MAKEINTRESOURCE(IDD_LOGON), 0, DialogProc, (LPARAM)this);
其中 DialogProc 定义如下: 代码:
INT_PTR DialogProc(UINT msg, WPARAM wp, LPARAM lp) {
switch (msg) {
case WM_INITDIALOG:
SetFocus (GetDlgItem(_hwnd, IDC_NAME));
return FALSE;
case WM_COMMAND: {
switch (LOWORD(wp)) {
case IDOK:
EndDialog(_hwnd, IDOK);
break;
case IDCANCEL:
EndDialog(_hwnd, IDCANCEL);
break;
}
return TRUE;
}
}
return FALSE;
}