用DDE创建程序组和快捷方式
procedure TMainForm.CreateWinGroup(Sender: TObject);
var
Name: string;
Name1: string;
Macro: string;
Macro1: string;
Cmd, Cmd1: array[0..255] of Char;
begin
Name := 'GroupName';
Name1 := destDir + 'YourFile.Ext, FileName_in_Group ';
Macro := Format('[CreateGroup(%s)]', [Name]) + #13#10;
Macro1 :=Format('[Additem(%s)]',[Name1]) +#13#10;
StrPCopy (Cmd, Macro);
StrPCopy (cmd1, Macro1);
DDEClient.OpenLink;
if not DDEClient.ExecuteMacro(Cmd, False) then
MessageDlg('Unable to create group '+Name,mtInformation, [mbOK], 0)
else
begin
DDEClient.ExecuteMacro(Cmd1, False);
end;
DDEClient.CloseLink;
end;
很久以前的了,一直没有收录,今天收录进来了。
要产生程序组, 常用的方法是与程序管理员进行 DDE 对话,呼叫程式管理员事先预备好
的宏集, 关於这些, 以下有一个例子您可以参考看看:
步骤:
1. File | New Project
2. 在 Form 中安置一个 TDDEClientConv 控件
3. 对於 DdeClientConv1, 在 Object Inspector 中点一下 DdeService 这个属性,
然后点一下在其右方'...'的按钮, 然后在 DdeService 这栏填入 ProgMan,在
DdeTopic 这栏填入 Progman 。
4. 对于 DdeClientConv1 将 ConnectMode 设为 ddeManual
5. 在 Form1 中安排一个 TButton
6. 在 Button1 的 OnClick 事件:
procedure TForm1.Button1Click(Sender: TObject);
var
sMacro: String;
szMacro: Array[0..254] of Char;
sGroupDesc, sGroupName: String;
sProgDesc: String;
sProgIcon: String;
begin
if not DdeClientConv1.OpenLink then begin
ShowMessage('无法建立 DDE 连结');
Exit;
end;
sGroupDesc := '纯测试的 Group';
sGroupName := 'Test';
sMacro := '[CreateGroup(' + sGroupDesc + ',' + sGroupName + ')]';
StrPCopy(szMacro, sMacro);
DdeClientConv1.ExecuteMacro(szMacro, False);
sProgIcon := 'c:\windows\notepad.exe';
sProgDesc := '记事本';
sMacro := '[AddItem(' + sProgIcon + ',' + sProgDesc + ')]';
StrPCopy(szMacro, sMacro);
DdeClientConv1.ExecuteMacro(szMacro, False);
DdeClientConv1.CloseLink;
end;
7. 保存后, 执行看看吧!