<?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>Λοιπά θέματα</title><link>https://www.dotnetzone.gr:443/cs/forums/29/ShowForum.aspx</link><description>Οτιδήποτε άλλα θέματα developing που δεν κολλάνε σε κάποιο από τα υπόλοιπα forums!</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Detect what Process used, when a FontFile is open?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46744.aspx</link><pubDate>Sat, 06 Dec 2008 21:51:19 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46744</guid><dc:creator>Antonis.M</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46744.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=29&amp;PostID=46744</wfw:commentRss><description>&lt;P&gt;Αγαπητέ Παναγιώτη ευχαριστώ πολύ για την απάντηση,&lt;/P&gt;
&lt;P&gt;συμφωνώ&amp;nbsp;είναι λίγο αγενές το σκότωμα κάποιας εφαρμογής το καταλαβαίνω. Είμαι σε μια διαδικασία διερεύνησης για τη διασφάλιση των fonts.&lt;/P&gt;
&lt;P&gt;Μετά&amp;nbsp;την RemoveFontResource όντος στέλνω το μήνυμα &lt;FONT size=2&gt;SendMessage &lt;FONT size=2&gt;M_FONTCHANGE κ.λ.π. αλλά τι γίνεται, πριν απ' αυτό το λειτουργικό έχει πάρει το μήνυμα ότι έχει εγκατασταθεί ένα νέο Font, ο χρήστης μπορεί να το χρησιμοποιήσει σε οποιαδήποτε εφαρμογή και το κάνει, (π.χ. word, Photoshop, FireWorks, κ.λ.π.) την ώρα που κάνω remove το font, όπως ανέφερα παραπάνω, όσο ο χρήστης έχει ακόμη ανοιχτή&amp;nbsp;μια απο τις εφαρμογές που χρησιμοποιούσε το Font, εγώ δεν μπορώ να κάνω delete το αρχείο από το δίσκο. Όταν κλείσει η εφαρμογή που χρησιμοποιούσε το Font τότε το αρχείο σβήνεται.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size=2&gt;&lt;FONT size=2&gt;&lt;FONT size=2&gt;
&lt;P&gt;Thread.Sleep(1000)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Do&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Until&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; fExists = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;False&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Try&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;'If fi.Exists Then fi.Delete()&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;If&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; fi.Exists &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Then&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Kill(&lt;/FONT&gt;&lt;FONT size=2&gt;FileName)&lt;BR&gt;fExists = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;False&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Catch&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; ex &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Exception&lt;BR&gt;Thread.Sleep(2000)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;'****************&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Try&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Loop&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#000000&gt;Τα Fonts που εγκαθιστώ τα κρατάω&amp;nbsp;binary&amp;nbsp;σε ένα resource file, από εκεί τα ρίχνω στο δίσκο για να χρησιμοποιήσω την AddFontResource και μετά την RemoveFontResource. Υπάρχει τρόπος να μην τα κατεβάζω στο δίσκο, αλλά να εγκαθιστώ τα Fonts απευθείας από ένα stream?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Ευχαριστώ,&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#000000&gt;Αντώνης Μ.&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;</description></item><item><title>Απ: Detect what Process used, when a FontFile is open?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46731.aspx</link><pubDate>Sat, 06 Dec 2008 02:49:20 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46731</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46731.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=29&amp;PostID=46731</wfw:commentRss><description>&lt;P&gt;Το documentation της &lt;A href="http://msdn.microsoft.com/en-us/library/ms533925(VS.85).aspx"&gt;RemoveFontResource&lt;/A&gt; περιγράφει ότι θα πρέπει να στείλεις και ένα μήνυμα WM_FONTCHANGED όταν αφαιρείς το font. Είναι λίγο .... αγενές ... να σκοτώσεις κάποια άσχετη εφαρμογή του χρήστη επειδή δεν έστειλες το συγκεκριμένο μήνυμα. Οι χρήστες σου ΔΕΝ θα χαρούν.&lt;/P&gt;
&lt;P&gt;Τα Handle.exe, WhoLockMe.exe δεν βρίσκουν κανένα process που να δεσμεύει το αρχείο, απλά γιατί .... κανένα process δεν δεσμεύει το αρχείο. Είναι το ίδιο το λειτουργικό το οποίο δεσμεύει το αρχείο όσο κάποια άλλη εφαρμογή χρησιμοποιεί το font μέσω της &lt;A href="http://msdn.microsoft.com/en-us/library/ms534214(VS.85).aspx"&gt;CreateFont&lt;/A&gt; και δεν το αποδεσμεύει με την DeleteObject. Είναι περίεργο πάντως μία άσχετη εφαρμογή να ξέρει ποιό είναι και πως λέγεται το δικό σου font. Υποψιάζομαι ότι κάποια από τις εφαρμογές που έχεις φτιάξει εσύ είναι αυτή που κλειδώνει το font, εκτός και αν το χρησιμοποιείς σε κάποια εφαρμογή όπως το Word.&lt;/P&gt;</description></item><item><title>Απ: Detect what Process used, when a FontFile is open?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46729.aspx</link><pubDate>Sat, 06 Dec 2008 00:10:40 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46729</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46729.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=29&amp;PostID=46729</wfw:commentRss><description>Μετέφερα εδώ την ερώτηση καθώς δεν είχε καμμία απολύτως σχέση με Enterprise Services, COM+ ή WCF. Η ερώτηση αφορά τη διαχείριση των fonts, ένα θέμα καθαρά unmanaged desktop development.</description></item><item><title>Detect what Process used, when a FontFile is open?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46728.aspx</link><pubDate>Fri, 05 Dec 2008 22:44:58 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46728</guid><dc:creator>Antonis.M</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46728.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=29&amp;PostID=46728</wfw:commentRss><description>&lt;P&gt;Γεια σας,&lt;BR&gt;έχοντας κάνει load στο σύστημα των windows ένα&amp;nbsp;&lt;STRONG&gt;FontResource (e.g.&amp;nbsp;FileName.ttf)&lt;/STRONG&gt;, το οποίο μπορεί να χρησιμοποιηθεί από ένα οποιοδήποτε Application, υπάρχει το εξής θέμα:&lt;/P&gt;
&lt;P&gt;Ενώ κάνοντας unload το Font από το σύστημα (&lt;STRONG&gt;RemoveFontResource&lt;/STRONG&gt;), σε πολλές περιπτώσεις για να γίνει delete το φυσικό αρχείο από το δίσκο, πρέπει να γίνει close και το Application από το οποίο ξεκίνησε η διαδικασία. Στη περίπτωση αυτή, πως μπορώ να μάθω το process που χρησιμοποιεί το συγκεκριμένο αρχείο ttf, &lt;STRONG&gt;ώστε να κάνω Kill το process και μετά να διαγραφεί το αρχείο&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;Σημείωση: Χρησιμοποιώντας εργαλεία όπως, Handle.exe ή WhoLockMe.exe, δεν ανιχνεύεται κανένα process που να δεσμεύει το αρχείο TTF.&lt;/P&gt;
&lt;P&gt;Καμιά ιδέα??&lt;/P&gt;
&lt;P&gt;Ευχαριστώ.&lt;/P&gt;</description></item></channel></rss>