<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>.NET Framework</title><link>https://www.dotnetzone.gr:443/cs/forums/14/ShowForum.aspx</link><description>Θέματα για threading, remoting, reflection, exception handling, security, regex κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Re: Help wanted: Process management, events, κλπ</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/561.aspx</link><pubDate>Fri, 03 Dec 2004 08:57:29 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:561</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/561.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=561</wfw:commentRss><description>&lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;Πράγματι, οι clients είναι γύρω στους 15 και στον server δεν θα υπάρχει βάση-βάση παρά ένα xml αρχείο με μια λίστα από επιτρεπόμενα processes ανά ομάδα χρηστών. Δεν χρειάζεται live connection, απλά ένας tcp listener στον server. Εξάλλου, με τον τρόπο που χρησιμοποιούνται οι clients δεν προβλέπεται να γίνεται διαρκές άνοιγμα εφαρμογών... Τέλος, το σκέφτικα το θέμα με τον όνομα του process και ενδεχομένων να κάνω implement κανένα hashing αλγόριθμο πάνω στα exe αρχεία ώστε να τα τσεκάρω με αυτόν τρόπο και να μπορώ να πιάσω και διαφορετικά versions του ίδιου exe... Όλα αυτά βλέποντας και κάνοντας...&lt;/font&gt;&lt;/p&gt;</description></item><item><title>Re: Help wanted: Process management, events, κλπ</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/560.aspx</link><pubDate>Fri, 03 Dec 2004 07:06:07 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:560</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/560.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=560</wfw:commentRss><description>&lt;p&gt;Αν έχεις πολλούς clients και δημιουργούνται συχνά processes θα πρέπει να εκτελείς συχνά το query στη βάση. Είναι θέμα scalability. Κάθε client θα πρέπει να κρατάει ανοικτή μια σύνδεση στη βάση και να εκτελεί το query. Ουσιαστικά εξαρτάται από το πόσα clients θα υπάρχουν. Αν μιλάμε για μερικές δεκάδες, δεν νομίζω ότι θα υπάρχει κανένα πρόβλημα. Θα πρέπει να κάνεις ένα stress test για να δεις τις πραγματικές επιπτώσεις.&lt;br /&gt;&amp;nbsp; Μήπως θέλεις να φτιάξεις κάτι σε στυλ IDS ή application firewall? Στην περίπτωση αυτή η καθυστέρηση μερικών δευτερολέπτων δεν θα είναι αρκετή για να προλάβει το service να κλείσει κάποιο worm. Άσε που το όνομα του process από μόνο του δεν αρκεί, εύκολα μπορεί κάποιος να το αλλάξει.&lt;/p&gt;</description></item><item><title>Re: Help wanted: Process management, events, κλπ</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/559.aspx</link><pubDate>Fri, 03 Dec 2004 06:42:07 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:559</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/559.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=559</wfw:commentRss><description>&lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;Ααααααα πολύ ωραία! Ευχαριστώ! Δουλεύει άψογα!&lt;br /&gt;&lt;br /&gt;Γενικά, το ζητούμενο είναι όταν server side ορίζω κάποια processes ότι είναι/δεν είναι επιτρεπτά, τότε θα πρέπει άμεσα οι clients να&amp;nbsp;υπόκεινται στις αλλαγές... Όπερ σημαίνει ότι η περιοδική αποστολή της λίστας, το polling ή το Active Directory δεν γίνεται να χρησιμοποιθούν. Έτσι λοιπόν, με ένα service που θα τρέχει στον client, όταν ανεβαίνει κάποιο νέο process, θα επικοινωνεί με τον server, θα παίρνει το OK (ή όχι) και&amp;nbsp;the rest is history...&lt;br /&gt;&lt;br /&gt;Όταν λές "αργή", που ακριβώς εντοπίζεις την αργοπορία; Γιατί με ένα proof-of-point Projectάκι που έφτιαξα βλέπω ότι από την στιγμή που θα γίνει kick το process, μέχρι να τρέξει το event, μεσολαβούν μερικά δευτερόλεπτα... Γι αυτό μιλάς;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;</description></item><item><title>Re: Help wanted: Process management, events, κλπ</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/558.aspx</link><pubDate>Thu, 02 Dec 2004 21:08:19 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:558</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/558.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=558</wfw:commentRss><description>&lt;p&gt;Πράγματι, μπορείς να πάρεις notification μέσω του WMI. Υπάρχει μάλιστα ένα ωραίο εργαλείο, το &lt;a target="_blank" title="http://www.microsoft.com/technet/scriptcenter/tools/wmimatic.mspx" href="http://www.microsoft.com/technet/scriptcenter/tools/wmimatic.mspx"&gt;Scriptomatic&lt;/a&gt;&amp;nbsp;το οποίο σου δημιουργεί έτοιμα scripts για να κάνεις διάφορα queries με WMI.&amp;nbsp;&lt;br /&gt;&amp;nbsp; Φοβάμαι ότι μια λύση client/server θα είναι αργή για αυτή τη δουλειά. Ίσως θα ήταν καλύτερα να κατεβάζεις τη λίστα σε κάθε μηχάνημα περιοδικά σε ένα αρχείο και να κάνεις τοπικά τον έλεγχο.&lt;br /&gt;&amp;nbsp; Όπως και να έχει, θα πρέπει να λάβεις υπόψη&amp;nbsp;η εφαρμογή θα πρέπει να έχει τα απαραίτητα permissions για να τερματίσει άλλες εφαρμογές.&lt;br /&gt;&amp;nbsp; Παρόμοια δουλειά μπορείς να κάνεις μέσω του Group Policy, με τα settings, "Don't Run specified Windows Applications", "Run only allowed Windows Applications" και "List of&amp;nbsp;allowed applications". Αυτά όμως δουλεύουν μόνο όταν πας να ξεκινήσεις ένα process από τον Explorer.&lt;br /&gt;&lt;br /&gt;Σε VBScript η δουλειά γίνεται με το παρακάτω script:&lt;/p&gt;&lt;pre class="source"&gt;&lt;table border="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;td bgcolor="lightgrey" width="15"&gt;&lt;/td&gt;&lt;td bgcolor="lightgrey"&gt;&lt;br&gt;&lt;font face="Lucida Console, Courier" size="2"&gt; &lt;p&gt;Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")&lt;/p&gt; &lt;p&gt;Set MySink = WScript.CreateObject("WbemScripting.SWbemSink","SINK_")&lt;/p&gt; &lt;p&gt;objWMIservice.ExecNotificationQueryAsync MySink, "SELECT * FROM __InstanceCreationEvent" &amp;amp; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; " WITHIN 10 WHERE TargetInstance ISA 'Win32_Process'"&lt;/p&gt; &lt;p&gt;WScript.Echo "Waiting for events..."&lt;/p&gt; &lt;p&gt;Sub SINK_OnObjectReady(objObject, objAsyncContext)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WScript.Echo (objObject.TargetInstance.Name)&lt;br/&gt;End Sub&lt;/p&gt;&lt;/font&gt;&lt;br&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/pre&gt; &lt;p&gt;Η ίδια δουλειά γίνεται στο .NET χρησιμοποιώντας το System.Management namespace και την κλάση ManagementEventWatcher:&lt;br /&gt;&lt;br /&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/p&gt;&lt;pre class="source"&gt;&lt;table border="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;td bgcolor="lightgrey" width="15"&gt;&lt;/td&gt;&lt;td bgcolor="lightgrey"&gt;&lt;br&gt;&lt;font face="Lucida Console, Courier" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;p&gt;&lt;br/&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;p&gt;using&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt; System.Management;&lt;br/&gt;&lt;br/&gt; &lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;p&gt;...&lt;br/&gt; &lt;br/&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#808080" size="2"&gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;class&lt;/font&gt;&lt;font size="2"&gt; Form1 : System.Windows.Forms.Form&lt;/p&gt;&lt;p&gt;{&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;...&lt;br/&gt; &lt;/font&gt;&lt;br/&gt; private&lt;/font&gt;&lt;font size="2"&gt; ManagementEventWatcher _watcher;&lt;/p&gt; &lt;/font&gt;&lt;font size="2"&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt; public&lt;/font&gt;&lt;font size="2"&gt; Form1() &lt;/p&gt;&lt;p&gt; {&lt;/p&gt;&lt;br/&gt; ...&lt;br/&gt; &lt;/font&gt;&lt;font size="2"&gt;&lt;p&gt; _watcher =&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;font size="2"&gt; ManagementEventWatcher(@"\\.\root\cimv2", &lt;/p&gt;&lt;p&gt; "SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'"); &lt;/p&gt;&lt;p&gt; _watcher.EventArrived+=&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;font size="2"&gt; EventArrivedEventHandler(_watcher_EventArrived); &lt;/p&gt;&lt;p&gt; _watcher.Start(); &lt;/p&gt;&lt;p&gt; }&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;p&gt;&lt;font color="#008000" size="2"&gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;...&lt;br/&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt; protected&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;override&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;font size="2"&gt; Dispose( &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;bool&lt;/font&gt;&lt;font size="2"&gt; disposing ) &lt;/p&gt;&lt;p&gt; { &lt;/p&gt;&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt; if&lt;/font&gt;&lt;font size="2"&gt;( disposing ) &lt;/p&gt;&lt;p&gt; { &lt;/p&gt;&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt; if&lt;/font&gt;&lt;font size="2"&gt; (components != &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;null&lt;/font&gt;&lt;font size="2"&gt;) &lt;/p&gt;&lt;p&gt; { &lt;/p&gt;&lt;p&gt; components.Dispose(); &lt;/p&gt;&lt;p&gt; } &lt;/p&gt;&lt;p&gt; _watcher.Stop(); &lt;/p&gt;&lt;p&gt; _watcher.Dispose(); &lt;/p&gt;&lt;p&gt; } &lt;/p&gt;&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt; base&lt;/font&gt;&lt;font size="2"&gt;.Dispose( disposing ); &lt;/p&gt;&lt;p&gt; }&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;br/&gt; ... &lt;br/&gt; &lt;br/&gt; &lt;br/&gt; private&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;font size="2"&gt; _watcher_EventArrived(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;object&lt;/font&gt;&lt;font size="2"&gt; sender, EventArrivedEventArgs e) &lt;/p&gt;&lt;p&gt; {&lt;/p&gt;&lt;p&gt; ManagementBaseObject eventArg = (ManagementBaseObject)(e.NewEvent["TargetInstance"]); &lt;/p&gt;&lt;p&gt; Console.WriteLine(String.Format("Process Started = {0}",eventArg["NAME"])); &lt;/p&gt;&lt;p&gt; }&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/pre&gt;&lt;/font&gt;</description></item><item><title>Help wanted: Process management, events, κλπ</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/554.aspx</link><pubDate>Thu, 02 Dec 2004 00:25:34 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:554</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/554.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=554</wfw:commentRss><description>&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;Θέλω να φτιάξω μια εφαρμογούλα &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;client&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;/&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;server&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;όπου &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;server&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt; side &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;θα καθορίζονται ποια &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;processes&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;(&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;managed&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;και &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;unmanaged&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;) επιτρέπονται να τρέξουν στους &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;clients&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;και &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;client&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt; side &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;όταν ξεκινάει ένα &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;process&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;θα τσεκάρει από τον &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;server&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;αν επιτρέπεται η εκτέλεση ή όχι, οπότε και θα το τερματίζει. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;Με το &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;System&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;.&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;Diagnostics&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;.&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;Process&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt; &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;namespace&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;υπάρχει η δυνατότητα να χειριστώ &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;processes&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;πέρα όμως από αυτό, χρειάζεται να κάνω &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;catch&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;κάποιο &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;event&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;που θα γίνεται &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;fire&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;όταν ξεκινάει κάποιο &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;process&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;. Για παράδειγμα, στο Microsoft.Win32.SystemEvents έχει κάποια ανάλογα &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;events&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;αλλά όχι για &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US"&gt;start&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EL; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EL; mso-bidi-language: AR-SA"&gt;Έχει κανείς καμιά ιδέα; Θέλω να βρω κάποια λύση που να μην καταφεύγει σε &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EL; mso-bidi-language: AR-SA"&gt;dll&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EL; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EL; mso-bidi-language: AR-SA"&gt; &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EL; mso-bidi-language: AR-SA"&gt;call&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EL; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EL; mso-bidi-language: AR-SA"&gt;. Μήπως μέσα από το &lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EL; mso-bidi-language: AR-SA"&gt;WMI&lt;/span&gt;&lt;span lang="EN" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EL; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EL; mso-bidi-language: AR-SA"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-ansi-language: EL; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EL; mso-bidi-language: AR-SA"&gt;θα μπορούσα να βγάλω άκρη;&lt;/span&gt;</description></item></channel></rss>