若要在应用程序执行过程中动态创建程序组和快捷方式,可以通过向程序管理器发送DDE命令来完成。实现过程如下:

在Form上放一个 TDDEClientConv控件,命名为:DdeClientConv1,将其DdeService属性设置为ProgMan,DdeTopic设置为Progman,ConnectMode设置为ddeManual。添加一个“创建”按钮,并编写如下代码:

DdeClientConv1.OpenLink {打开DDE会话}

sMacro:=′[CreateGroup(′+′新建程序组′+′,′ +′Test′+′)]′;{宏}

StrPCopy(szMacro, sMacro);{将宏复制到字符缓冲区}

DdeClientConv1.ExecuteMacro(szMacro, False);{执行宏}

sProgIcon:=′C:WindowsNotepad.Exe′;{快捷方式命令行}

sProgDesc:=′记事本′;{快捷方式描述}

sMacro:= [AddItem(′ + sProgIcon + ′,′ + sProgDesc + ′)]′;

StrPCopy(szMacro, sMacro);

DdeClientConv1.ExecuteMacro(szMacro, False);

DdeClientConv1.CloseLink; {关闭DDE会话}

sMacro:=′[DeleteGroup(″附件″)]′;{删除“附件”组}

sMacro:=′[ShowGroup(″启动″)]′;{显示″启动″组}