當菜單項被禁用,然後在控制應用程序中將代碼「PostMessage」傳遞給崩潰,因爲我需要檢查菜單項是Enabled,然後使用PostMessage。檢查菜單項在Delphi中使用API Win32
HandleMenu:= GetMenu(ParentAppHandle);
HandleMenu:= GetSubMenu(HandleMenu, 6 {menu item no});
item:= GetMenuItemID(HandleMenu , 12 {sub menu item no});
PostMessage(ParentAppHandle, WM_COMMAND, MakeWParam(item, 0), 0);
[GetMenuItemInfo](https://msdn.microsoft.com/en-us/library/windows/desktop/ms647980.aspx)。 – IInspectable
如果您爲禁用的菜單項發送了「WM_COMMAND」消息,則接收應用程序應忽略該消息。如果接收器崩潰,接收器編碼不正確。這不是發件人的錯。另外,請確保菜單所有者擁有正確的'HWND'。一些應用程序框架爲菜單分派創建了一個專用的'HWND'。 –