你可以给你的程序加上参数处理,在程序启动时判断
if ParamCount>1 then
begin
if ParamStr(1)='menu1' then
ShowMessage('菜单1')
esle if ParamStr(1)='menu2' then
ShowMessage('菜单2')
else
ShowMessage('直接运行的');
end;
/////////////////////////////////////////////////////////////////////////////
Delphi调用该程序:
ShellExcute(handle, "open", "程序名","menu1",nil,SW_NORMAL)
VB调用:
ShellExecute Me.hwnd, "open", 程序名,"menu1", vbNullString, 1