我用资源 工具创建了下列对话框资源
30721 DIALOG 9, 26, 183, 70
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "新建"
LANGUAGE LANG_CHINESE, 0x2
FONT 8, "MS Shell Dlg"
{
CONTROL "新建(&N)", -1, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE, 6, 5, 123, 8
CONTROL "", 100, LISTBOX, LBS_NOTIFY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 6, 15, 125, 49
CONTROL "确定", 1, BUTTON, BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 137, 6, 40, 14
CONTROL "取消", 2, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 137, 23, 40, 14
CONTROL "帮助(&H)", -7866, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 137, 43, 40, 14
}
想用DialogBoxParamA API调用,程序如下:
006BFD5D . 6A 00 PUSH 0 ; /lParam = NULL
006BFD5F . 68 50FE6B00 PUSH T2011_12.006BFE50 ; |DlgProc = T2011_12.006BFE50
006BFD64 . 6A 00 PUSH 0 ; |hOwner = NULL
006BFD66 . 90 NOP ; |
006BFD67 . 90 NOP ; |
006BFD68 . 90 NOP ; |
006BFD69 68 02780000 PUSH 7801 ;资源 ID=7801 (30721)
006BFD6E . 6A 00 PUSH 0 ; |hInst = NULL
006BFD70 . E8 CFB36777 CALL USER32.DialogBoxParamA ; \DialogBoxParamA
不知道为什么调用不成功,无法弹出对话框,是不是消息处理程序还没有编写的问题导致调用不成功,还是DialogBoxParamA API 格式错误。或是其它问题,请各位多指教!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课