[INFO] Use TRegistry to get list of installed programs on Windows 32/64-bit lazarus / 34-Windows ---------------------------------------------------------------------- JimD · 2018-05-07 07:17 The attached example is my attempt to consolidate the information from this post and others:    https://forum.lazarus.freepascal.org/index.php/topic,33990.15.html I'm hoping this will help others use TRegistry to get the list of installed programs on Windows. Tested using Virtualbox on WinXP, Win7, and Win10 - both 32 and 64-bit My Config:   Windows 10 Home 64-bit   Lazarus 1.8.2 with FPC 3.0.4 64 bit, and cross-i386-win32-win64 ---------------------------------------------------------------------- wp · 2018-05-07 07:59 Thanks for sharing. But you should call BeginUpdate/EndUpdate to avoid scrolling the memo while adding lines: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure TfrmMain.ShowList(aTitle: string; aList: TStringList);var  i: integer;begin  aList.sort;  Memo.Lines.BeginUpdate;     // <-- inhibits repainting of Memo  try    Memo.Append(aTitle);    for i:=0 to aList.Count-1 do begin      Memo.Append(Format('%4d: %s', [i+1, aList[i]]));    end;  finally    Memo.Lines.EndUpdate;    // <-- activates repainting of Memo again.  end;end; ---------------------------------------------------------------------- JimD · 2018-05-10 06:45 Thank you, wp! I have used Memo.Enabled:=true/false on other projects. I like your suggestion much better. I learned something new today.