Ongetwijfeld bestaat er een Delphi .NET altenatief, even in c# dit is getest,

Code:
using System.Security.Principal;

        private void WriteToEventLog(string agent, string message)
        // Log one message. Run once in Administrator to register agent !
        {
            EventLog elog = new EventLog();
            if (isElevated())
             if (!EventLog.SourceExists(agent))
               EventLog.CreateEventSource(agent, agent);
            elog.Source = agent;
            elog.EnableRaisingEvents = true;
            elog.WriteEntry(message);
        }

        private bool isElevated()
        {
          WindowsIdentity identity = WindowsIdentity.GetCurrent();
          WindowsPrincipal principal = new WindowsPrincipal(identity);
          return principal.IsInRole(WindowsBuiltInRole.Administrator);
        }
De functie WriteToEventLog dumpt een message naar de Windows Event Log, een handig ding wat je kunt gebruiken voor belangrijke foutmeldingen en loggen van bepaalde beslissingen, afhankelijk van de taak. Een systeembeheerder kan via Administrative Tools / Event log (of in NL: Logboek) deze messages bekijken:

Code:
        WriteToEventLog("Chatter", "Hello");


De functie IsElevated test of de user in Administrator mode staat. Elk programma wat naar de Event Log schrijft, moet zich éénmaal onder een bepaalde naam aanmelden, in Administrator mode. In dit geval "Chatter". Na die eerste run kan het programma gewoon in User mode lopen.

Maar.. een melding naar de Event Log kan meer. EnableRaisingEvents = true.

Het kan een bepaalde task triggeren.

Die taak kun je aanmelden in de Event Log, in Task Scheduler verder configureren.. bijvoorbeeld om een programma uit te voeren.

Handleiding:

http://www.windowsecurity.com/articl...gs-Events.html

Handleidingen voor gevorderden:

http://blogs.technet.com/b/wincat/ar...ows-event.aspx
http://aymanstechblog.blogspot.nl/20...ents.html#more

Dit is een elegante methode, om bij bepaalde events in Applicatie #1 een andere Applicatie #2 op te starten. Het wordt netjes gelogd.. En als je de tijd neemt, om de laatste links ook door te lezen, is de communicatie via de log-message redelijk flexibel.. Een WinExec met hardgecodeerde argumenten is echt niet meer nodig, met dit soort faciliteiten ! De Event Log met scheduled tasking is beschikbaar in Windows 7, 8 en 10 en in versies van Windows Server vanaf 2003.. bovenstaande code is getest met Windows 8.1, Dot Net 4.5