Quote
iss009@thunder (J.Gould) wrote:
>How do I add items to program groups using Delphi 1
>and windows 3.1 & WFW3.11 ??
>Thanks in advance,
>Jonathan.
Search in the "Windows-API Help" for the topic "Shell Dynamic-Data
Exchange Interface Overview"
or try the following source:
**************************************************
procedure ProgrammGruppeErstellen;
var
Cmd : array[0..255] of Char;
DDE : TDDEClientConv;
PrgDatei : String;
begin
{Programmgruppe erstellen}
DDE := TDDEClientConv.Create(StdForm);
DDE.SetLink('PROGMAN','');
DDE.ConnectMode := DDEManual;
StrPCopy (Cmd, '[CreateGroup(TestTestTest)]'+ #13#10);
DDE.SetLink('PROGMAN','');
DDE.OpenLink;
if not DDE.ExecuteMacro(Cmd, True) then
MessageDlg('Fehler beim Erstellen der Programmgruppe!',
mtInformation, [mbOK, mbHelp], 0);
DDE.CloseLink;
DDE.Free;
{Programmgruppe aktivieren}
DDE := TDDEClientConv.Create(StdForm);
DDE.SetLink('PROGMAN','');
DDE.ConnectMode := DDEManual;
StrPCopy (Cmd, '[TestTestTest, 1)]');
DDE.SetLink('PROGMAN','');
DDE.OpenLink;
DDE.ExecuteMacro(Cmd, True);
DDE.CloseLink;
DDE.Free;
{evtl. vorhandenes altes Programmobjekt l?schen}
DDE := TDDEClientConv.Create(StdForm);
DDE.SetLink('PROGMAN','');
DDE.ConnectMode := DDEManual;
StrPCopy (Cmd, '[ReplaceItem(<<Nix los>> Icon!)]');
DDE.SetLink('PROGMAN','');
DDE.OpenLink;
if not DDE.ExecuteMacro(Cmd, False) then
MessageDlg('Fehler beim L?schen der Programmdatei!',
mtInformation, [mbOK, mbHelp], 26);
DDE.CloseLink;
DDE.Free;
{neues Programmobjekt erstellen}
PrgDatei := '[AddItem(DUMMY.EXE, <<Nix los>> Icon!, , , 100, 5, '
+ 'C:\' + ', , 2)]';
DDE := TDDEClientConv.Create(StdForm);
DDE.SetLink('PROGMAN','');
DDE.ConnectMode := DDEManual;
StrPCopy (Cmd, PrgDatei);
DDE.SetLink('PROGMAN','');
DDE.OpenLink;
if not DDE.ExecuteMacro(Cmd, False) then
MessageDlg('Fehler beim Erstellen der Programmdatei!',
mtInformation, [mbOK, mbHelp], 0);
DDE.CloseLink;
DDE.Free;
end;
********************************************************************
Sorry, some parts are in german language
Have fun
Norbert Froehlich