<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Delphi on Remko's Blog</title><link>https://remkoweijnen.nl/blog/tags/delphi/</link><description>Recent content in Delphi on Remko's Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 18 Dec 2017 12:10:51 +0000</lastBuildDate><atom:link href="https://remkoweijnen.nl/blog/tags/delphi/index.xml" rel="self" type="application/rss+xml"/><item><title>RAD Studio Tokyo 10.2(.2) Data Collection</title><link>https://remkoweijnen.nl/blog/2017/12/18/rad-studio-tokyo-10-2-2-data-collection/</link><pubDate>Mon, 18 Dec 2017 12:10:51 +0000</pubDate><guid>https://remkoweijnen.nl/blog/2017/12/18/rad-studio-tokyo-10-2-2-data-collection/</guid><description>&lt;p&gt;Just a very quick note: I was just installing RAD Studio 10.2.2 when I noticed the installer has an Options button:&lt;/p&gt; &lt;p&gt;&lt;a href="https://remkoweijnen.nl/blog/wp-content/uploads/2017/12/image-2.webp" class="glightbox" data-type="image" data-gallery="post-4192"&gt;&lt;img loading="lazy" decoding="async" title="image" style="display: inline;" alt="image" src="https://remkoweijnen.nl/blog/wp-content/uploads/2017/12/image_thumb-2.webp" width="417" height="316" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;So I clicked it to see what options are available and noticed that the &amp;quot;Embarcadero Customer Experience Program&amp;quot; is opted-in by default:&lt;/p&gt;</description></item><item><title>Get Process Id of a running Service</title><link>https://remkoweijnen.nl/blog/2012/11/28/get-process-id-of-a-running-service/</link><pubDate>Wed, 28 Nov 2012 12:20:40 +0000</pubDate><guid>https://remkoweijnen.nl/blog/2012/11/28/get-process-id-of-a-running-service/</guid><description>&lt;p&gt;Sometimes you need to know the Process Id (PID) of a running service. Since Windows 2003 you can use the tasklist.exe tool with the /SVC switch. But how to do this programmatically?&lt;/p&gt; &lt;p&gt;The &lt;a href="http://msdn.microsoft.com/en-us/library/ms684941%28VS.85%29.aspx"&gt;QueryServiceStatusE&lt;/a&gt;x API returns a &lt;a href="http://msdn.microsoft.com/en-us/library/ms685992(v=vs.85).aspx"&gt;SERVICE_STATUS_PROCESS&lt;/a&gt; structure that contains the PID.&lt;/p&gt;</description></item><item><title>Citrix Launcher Progress Update 1</title><link>https://remkoweijnen.nl/blog/2012/05/17/citrix-launcher-progress-update-1/</link><pubDate>Thu, 17 May 2012 23:19:12 +0000</pubDate><guid>https://remkoweijnen.nl/blog/2012/05/17/citrix-launcher-progress-update-1/</guid><description>&lt;p&gt;After figuring out how to &lt;a href="https://remkoweijnen.nl/blog/2012/05/13/encoding-and-decoding-citrix-passwords/"&gt;encode and decode the Citrix passwords&lt;/a&gt; my next step for the upcoming Citrix Launcher is experiment with config.xml and authenticating to the Citrix Web Interface.&lt;/p&gt;
&lt;p&gt;&lt;a class="glightbox thickbox" href="https://remkoweijnen.nl/blog/wp-content/uploads/2012/05/image4.webp" data-type="image" data-gallery="post-2609"&gt;&lt;img loading="lazy" decoding="async" style="float: left; display: inline;" title="image" src="https://remkoweijnen.nl/blog/wp-content/uploads/2012/05/image_thumb4.webp" alt="image" width="45" height="39" align="left" /&gt;&lt;/a&gt;I imported the NFuse.dtd from the Citrix Web Interface into Delphi with the XML Data Binding Wizard. The results in an NFuse Unit so I can easily create the XML data.&lt;/p&gt;
&lt;p&gt;To create an authentication packet I use the following code:&lt;/p&gt;</description></item><item><title>GetUserObjectInformation fails with Access Denied</title><link>https://remkoweijnen.nl/blog/2011/08/16/getuserobjectinformation-fails-with-access-denied/</link><pubDate>Tue, 16 Aug 2011 21:11:01 +0000</pubDate><guid>https://remkoweijnen.nl/blog/2011/08/16/getuserobjectinformation-fails-with-access-denied/</guid><description>&lt;p&gt;&lt;a href="https://remkoweijnen.nl/blog/wp-content/uploads/2011/08/image2.webp" class="glightbox" data-type="image" data-gallery="post-1994"&gt;&lt;img loading="lazy" decoding="async" style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="Logon SID" border="0" alt="Logon SID" align="left" src="https://remkoweijnen.nl/blog/wp-content/uploads/2011/08/image_thumb2.webp" width="48" height="44" /&gt;&lt;/a&gt;Today I was reusing some old (pre vista) code the retrieves the Logon SID that I wrote a few years ago. The Logon SID is a special SID that identifies a logon session that has the form S-1-5-5-X-Y.&lt;/p&gt; &lt;p&gt;You can view your Logon SID with Process Explorer, right click a GUI process, select Properties and goto the Security Tab:&lt;/p&gt; &lt;p&gt;&lt;a href="https://remkoweijnen.nl/blog/wp-content/uploads/2011/08/SNAGHTML1b84fe6b.webp" class="glightbox" data-type="image" data-gallery="post-1994"&gt;&lt;img loading="lazy" decoding="async" style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="explorer.exe:4484 Properties" border="0" alt="Process Explorer|Security Tab|Logon SID" src="https://remkoweijnen.nl/blog/wp-content/uploads/2011/08/SNAGHTML1b84fe6b_thumb.webp" width="274" height="317" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt;</description></item><item><title>Delphi TSaveDialog doesn’t work on Windows PE</title><link>https://remkoweijnen.nl/blog/2011/06/21/delphi-tsavedialog-doesnt-work-on-windows-pe/</link><pubDate>Tue, 21 Jun 2011 15:03:07 +0000</pubDate><guid>https://remkoweijnen.nl/blog/2011/06/21/delphi-tsavedialog-doesnt-work-on-windows-pe/</guid><description>&lt;p&gt;In my &lt;a href="https://remkoweijnen.nl/blog/2011/06/18/switch-sata-operation-mode/"&gt;SATA Controller Identification tool&lt;/a&gt; I was using the TSaveDialog (Delphi 2010) but I got a report that under Windows PE the dialog is never shown.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s no exception and I didn&amp;rsquo;t really bother to check why it fails. Instead I decided to replace it with the &lt;a href="http://msdn.microsoft.com/en-us/library/ms646928(v=vs.85).aspx" target="_blank"&gt;GetSaveFileName&lt;/a&gt; API which does work under Windows PE.&lt;/p&gt;</description></item></channel></rss>