以下のようにメニュー文字列のアルファベットの前に&を付けると
Alt+そのアルファベットでメニューを選択できるようにできます。
メニューに&は表示されません。
#include "user32.as"
#define ctype LOWORD(%1) (%1 & $FFFF)
;	項目ID
#enum IDM_XXX = 1
#enum IDM_YYY
#enum IDM_ZZZ
#enum IDM_BBB
#enum IDM_CCC
#enum IDM_KOUMOKU1
#enum IDM_KOUMOKU2
;	WM_COMMANDメッセージ
	oncmd gosub *command, $111
	CreatePopupMenu
	hMenu.1 = stat
		AppendMenu hMenu.1, 0, IDM_KOUMOKU1, "項目1"
		AppendMenu hMenu.1, 0, IDM_KOUMOKU2, "項目2"
		AppendMenu hMenu.1, $800, 0, ""	// 第2パラ$800は区切り線
		AppendMenu hMenu.1, 0, IDM_EXIT, "終了"
;	<メインのメニューバー>
	CreateMenu
	hMenu.0 = stat
		AppendMenu hMenu.0, $10, 0, "&A"
		AppendMenu hMenu.0, $10, 1, "&B"
		AppendMenu hMenu.0, $10, 2, "&C"
;	ウィンドウにメニューを付ける
	SetMenu hwnd, hMenu.0
	DrawMenuBar hwnd
	stop
//	WM_COMMANDメッセージ
*command
;	メニューからのウィンドウメッセージ
	if lparam = 0 {
;		wparamの下位ワードにメニュー項目ID
		wID = LOWORD(wparam)
		if(wID==0):dialog "A"
		if(wID==1):dialog "B"
		if(wID==2):dialog "C"
		return
	}
	return
また、Altを押すと&の後ろのアルファベットに下線が付きます。
これではだめでしょうか?
shiftやCtrlなどをショートカットにしたい場合は言ってください。