Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Ενεργοποίηση εφαρμογης με τα Windows

Îåêßíçóå áðü ôï ìÝëïò rpt. Τελευταία δημοσίευση από το μέλος Thiseas στις 09-06-2007, 17:58. Υπάρχουν 11 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  06-06-2007, 20:28 32684

    Ενεργοποίηση εφαρμογης με τα Windows

    Καλησπερα ειμαι καινουργιος στο φορουμ.Ασχολουμε τον τελευτεο καιρο με την visual basic ποιο σιγκεκριμενα με την 2005 εχω κανει μια εφαρμογη την οποία όμως θέλω να την κάνω να ξεκινάει αυτοματα με το που φορτώνουν τα  windows.Μπορειτε να μου πείτε πως μπορώ να  καταφέρω κάτι τέτοιο.

    Ευχαριστω .

     

  •  07-06-2007, 08:19 32707 σε απάντηση της 32684

    Απ: Ενεργοποίηση εφαρμογης με τα Windows

    Αν θέλεις η εφαρμογή να ξεκινάει όταν κάνει login ο χρήστης μπορείς να βάλεις κατά την εγκατάσταση της ένα shortcut στο Startup. Αν όμως θέλεις να ξεκινάει όταν ξεκινάνε τα Windows θα πρέπει να φτιάξεις service και όχι Windows Application.
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  08-06-2007, 17:32 32774 σε απάντηση της 32707

    Re: Απ: Ενεργοποίηση εφαρμογης με τα Windows

    Οπως αν δεν θέλεις να φαίνεται στο Startup μπορείς να ΄βαλεις μία εγγραφή στην Registry στο Software/microsoft/windows/currentverion/run

    -------------------------------
    Κ. Γιαγιάς

    Θα ήθελα να είμαι μέσα στην φωτογραφία και όχι εδώ!!!!

    http://beastie06.wordpress.com
  •  08-06-2007, 18:09 32775 σε απάντηση της 32774

    Απ: Re: Απ: Ενεργοποίηση εφαρμογης με τα Windows

    beastie:
    Οπως αν δεν θέλεις να φαίνεται στο Startup μπορείς να ΄βαλεις μία εγγραφή στην Registry στο Software/microsoft/windows/currentverion/run

    Το παραπάνω key υπάρχει τόσο κάτω από HKCURRENTUSER όσο και κάτω από το HKLOCALMACHINE.

    Θα σου πρότεινα να το βάλεις στον CurrentUser... Wink


    Nothing to declare...
  •  08-06-2007, 18:19 32776 σε απάντηση της 32775

    Απ: Re: Απ: Ενεργοποίηση εφαρμογης με τα Windows

    Εγώ πάλι θα σου πρότεινα να μην το βάλεις στο Run key της registry, γιατί είναι ένα μέρος που μόνο οι "έμπειροι" χρήστες γνωρίζουν και μπορούν να βρουν. Αν ο χρήστης αλλάξει γνώμη και δε θέλει να τρέχει η εφαρμογή σου αυτόματα, έχει μια ελπίδα να βρει το shortcut στο startup, αλλά δεν έχει καμία να το βρει στη registry (που ίσως δεν ξέρει και τι είναι).

    Νατάσα Μανουσοπούλου
  •  08-06-2007, 18:34 32777 σε απάντηση της 32776

    Re: Απ: Re: Απ: Ενεργοποίηση εφαρμογης με τα Windows

    Νατάσα, βασικά έχεις δίκιο στο να μην κάνει η εφαρμογή πράγματα από μόνη της.

     και θα ήθελα να προσθέσω ότι πριν μπει η εγγραφή στο Registry θα πρέπει να έχει την συγκατάθεση του χρήστη όπως και να έχει επιλογή ο χρήστης αν θέλει να είναι στο CurrentUser ή sto LocalMachine.
    Οπωσδήποτε η εφαρμογή θα πρέπει να έχει και την επιλογή να αφαιρεθεί η παραπάνω εγγραφή όταν το θελήσει ο χρήστης. Ολα αυτά μέσα από το UI της εφαρμογής. !!!



    -------------------------------
    Κ. Γιαγιάς

    Θα ήθελα να είμαι μέσα στην φωτογραφία και όχι εδώ!!!!

    http://beastie06.wordpress.com
  •  08-06-2007, 19:38 32783 σε απάντηση της 32777

    Απ: Re: Απ: Re: Απ: Ενεργοποίηση εφαρμογης με τα Windows

    Το LocalMachine απαιτεί δικαιώματα administrator, οπότε δεν είναι καλή ιδέα να το χρησιμοποιήσει κανείς αν δεν υπάρχει ανάγκη.Εξαρτάται πάντα από το τί θέλεις να κάνεις. Θέλεις να εμφανίζεις ένα εικονίδιο στο Taskbar όταν μπαίνει ο χρήστης? Βάζεις την εφαρμογή στο Startup, έτσι ώστε όταν βαρεθεί ο χρήστης να το βγάλει. Θέλεις να εμποδίσεις το χρήστη από το να βγάλει την εφαρμογή? Κακώς. Το μηχάνημα είναι δικό του και έχει δικαίωμα να βάζει και να βγάζει ότι θέλει. Εδώ που τα λέμε όμως, τις περισσότερες φορές όσοι προσπαθούν να το κάνουν αυτό, δεν ξέρουν πόσο εύκολο είναι να φτιάξεις ένα service.

    Επιπλέον, όταν ο χρήστης εγκαθιστά ένα πρόγραμμα έχει την επιλογή να το εγκαταστήσει για τον εαυτό του ή για όλους τους χρήστες. Όταν εγκαθιστάς μία εφαρμογή για όλους τους χρήστες, οι ρυθμίσεις της  (μεταξύ των οποίων και τα κλειδιά του HKEY_CURRENT_USER) θα εγκατασταθούν για κάθε χρήστη την πρώτη φορά που αυτός θα τρέξει την εφαρμογή.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  08-06-2007, 20:20 32785 σε απάντηση της 32783

    Re: Απ: Re: Απ: Re: Απ: Ενεργοποίηση εφαρμογης με τα Windows

    Βασικά συμφωνούμε στο ότι ο χρήστης ΠΡΕΠΕΙ να έχει το δικαίωμα αφαίρεσης, απλά όπως υπάρχει ποσοστό χρηστών που δεν γνωρίζει τίποτα για Registry υπάρχουν και άλλοι που ουτε το StartUp γνωρίζουν.

    Για αυτό επιμένω στην χρήση επιλογών ΜΕΣΑ από το UI της εφαρμογής. Ειμαι γενικά υπερ των User Settings και κατά των "κρυφών" λύσεων. Χαιρομαι που βλέπω γενικά την κοινότητα σύμφωνη με αυτό.

    -------------------------------
    Κ. Γιαγιάς

    Θα ήθελα να είμαι μέσα στην φωτογραφία και όχι εδώ!!!!

    http://beastie06.wordpress.com
  •  08-06-2007, 20:30 32786 σε απάντηση της 32785

    Απ: Re: Απ: Re: Απ: Re: Απ: Ενεργοποίηση εφαρμογης με τα Windows

    Δεν λέμε όχι στο να χρησιμοποιήσεις το UI της εφαρμογής, απλά να μην χρησιμοποιήσεις το HKEY_LOCAL_MACHINE. Ίσα-ίσα, είναι πολύ καλύτερο να ρυθμίζεις την έναρξη της εφαρμογής από το UI της.

    Ακόμα όμως δεν ξέρουμε πως θα χρησιμοποιηθεί η εφαρμογή! Πες μας βρε rpt τί θέλεις? Να τρέχει συνέχεια οπότε θέλεις service? Να εμφανίζει κάτι στο taskbar?


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  08-06-2007, 22:37 32789 σε απάντηση της 32684

    Απ: Ενεργοποίηση εφαρμογης με τα Windows

    rpt:

    Καλησπερα ειμαι καινουργιος στο φορουμ.Ασχολουμε τον τελευτεο καιρο με την visual basic ποιο σιγκεκριμενα με την 2005 εχω κανει μια εφαρμογη την οποία όμως θέλω να την κάνω να ξεκινάει αυτοματα με το που φορτώνουν τα  windows.Μπορειτε να μου πείτε πως μπορώ να  καταφέρω κάτι τέτοιο.

    Ευχαριστω

    Από τα παραπάνω, καταλαβαίνω οτι η εφαρμογή είναι για προσωπική χρήση. Μπορείς να την εγκαταστήσεις όπου θέλεις εσώ,.... οπότε εσύ έχεις το μαχαίρι εσύ και το.... καρπούζι (λέμε!!)Stick out tongue

    Αν όμως θέλεις να κάνεις deployment τότε το πράγμα αλλάζει.
    Ίσως να χρειαστείς κάποιον installer. Αν μάλιστα η εφαρμογή σου κάνει χρήση βάσης δεδομένων τότε θα χρειαστεί να ελέγξεις και για τους απαραίτητους drivers της βάσης, αν είναι .net να κοιτάξεις αν υπάρχει το framework εγκατεστημένο κλπ κλπ.... πάει μακρυά η βαλίτσα και δεν είναι τόσο απλό. Θα έλεγα, σε αυτήν την περίπτωση, οτι σε ποιό μέρος θα την βάλεις για να ξεκινάει αυτόματα είναι το πιο εύκολο κομμάτι.

    Προσωπικά συμφωνώ και επαυξάνω οτι όλα πρέπει να γίνονται μέσω του installer/uninstaller της εφαρμογής σου (ναι πρέπει να έχει και uninstaller που να κάνει ΠΡΑΓΜΑΤΙΚΟ un-installation - και όχι ψευτιές!!! όπως κάνουνε πολλά προγράμματα).
    Επ' ευκαιρία θέλω να αναφέρω οτι πάρα πολλά προγράμματα (π.χ. Nero, Adobe Acrobat Reader) έχουν το κακό συνλήθειο να  γράφουν πράγματα στο registry χωρίς την έγκριση του χρήστη. Αυτό για μένα είναι απαράδεκτο.
    Τώρα θα μου πείς... πόσοι χρήστες ξέρουνε τι να απαντήσουνε σε μια ερώτηση του style: (Update Registry (Y/N)?).... ok... γράφτηνε εσύ και όσοι ξέρουνε ας πούνε κάτι.... αλλιώς να "παίζεις" με τις default τιμές που θα έχεις βάλει.

    Τώρα για το service που ανέφερε ο φίλος  Παναγιώτης.
    Παναγιώτη,... αναρωτιέμε? Τι θα γίνει το service όταν ο χρήστης αποφασίσει να κλείσει την εφαρμογή? θα μείνει σε zombie state? για να "τρώει" resources? Γενικά πως το χειρίζεσαι αυτό?

     

     

     


    Nothing to declare...
  •  09-06-2007, 13:23 32798 σε απάντηση της 32789

    Απ: Ενεργοποίηση εφαρμογης με τα Windows

    Καλό είναι να μην κάνουμε πρώιμες υποθέσεις. Η ερώτηση "πως να κάνω μία εφαρμογή να τρέχει όταν ξεκινάνε τα Windows" έχει γίνει 4-5 φορές ήδη στο forum. Κάθε φορά ο λόγος ήταν διαφορετικός:

    • άλλοτε η εφαρμογή έπρεπε να εκτελείται ακόμα και αν δεν είχε κάνει κάποιος login,
    • άλλοτε έπρεπε η εφαρμογή να δέχεται κλήσεις από άλλα μηχανήματα, χωρίς κάποιος να έχει κάνει login, π.χ. θέλει να στήσει .ΝΕΤ remoting
    • άλλοτε υπήρχε ανάγκη να τρέχει ένα πρόγραμμα συνέχεια για να μιλάει με ειδική συσκευή,
    • άλλοτε για να ελέγχει την εκτέλεση άλλων εφαρμογών βάση schedule,
    • άλλοτε επειδή έπρεπε να εμφανιστεί ένα εικονίδιο στο taskbar
    • κλπ, κλπ, κλπ.

    Στις περιπτώσεις 1-2 υπάρχει μόνο το service, για τις 3-4 μπορεί να είναι το service, μπορεί όχι. Για την 5, καλύτερα να χρησιμοποιήσεις το startup ή το κατάλληλο registry key. Χωρίς να ξέρεις τί θέλει να κάνει ο άλλος, δεν μπορείς να προτείνεις μία λύση. Το καλύτερο που μπορείς να κάνεις είναι να προτείνεις διάφορες καταστάσεις και την αντίστοιχη λύση.

    Όσον αφορά το service και το zombie state, μην ξεχνάς τί είναι το service. Το service είναι ανεξάρτητη εφαρμογή η οποία εκτελείται ανεξάρτητα από το ποιός έχει ή δεν έχει κάνει login και περιμένει κάποιο event (μία κλήση σε ένα socket, ένα timer event, μία κλήση remoting, ένα hardware event, κάτι άλλο), το επεξεργάζεται και συνεχίζει να περιμένει. Σε "zombie state" μπορεί να μπει μόνο αν λόγω κακού προγραμματισμού σταματήσει να ακούει για κλήσεις. Resources δεν χάνονται παρά μόνο αν, με το τέλος της επεξεργασίας του event, ξεχάσει κανείς να κλήσει π.χ. connections, αρχεία ή κάτι άλλο που δεν χρειάζεται. Και αυτό όμως είναι αποτέλεσμα κακού προγραμματισμού. Η εκτέλεση του service συνήθως δεν εξαρτάται από το αν εκτελείται ή όχι μία σχετική εφαρμογή.

    Όσον αφορά το installation, ο Windows Installer κάνει πολύ καλά τη δουλειά του και το Visual Studio μπορεί να καλύψει εύκολα τις πιο συνηθισμένες περιπτώσεις δημιουργίας setup. Όσο για τα registry keys, μία εφαρμογή δεν χρειάζεται να ζητήσει άδεια για να γράψει πληροφορίες στα δικά της κλειδιά (τα κλειδιά κάτω από το HKLM\Software\AppName, το HKCU\Software\AppName και κάποια άλλα) ή για να προσθέσει νέους δικούς της τύπους αρχείων. Γι αυτό υπάρχει το registry. Νόημα έχει να σε ρωτήσει π.χ. αν θέλεις να αναλάβει η εφαρμογή σου άλλους τύπους αρχείων όπως τα mp3, αν θέλεις να προσθέσει shortcuts στο context menu ή στο Quick Launch menu.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  09-06-2007, 17:58 32802 σε απάντηση της 32798

    Απ: Ενεργοποίηση εφαρμογης με τα Windows

    Παναγιώτης Καναβός:
    Όσο για τα registry keys, μία εφαρμογή δεν χρειάζεται να ζητήσει άδεια για να γράψει πληροφορίες στα δικά της κλειδιά (τα κλειδιά κάτω από το HKLM\Software\AppName, το HKCU\Software\AppName και κάποια άλλα) ή για να προσθέσει νέους δικούς της τύπους αρχείων. Γι αυτό υπάρχει το registry. Νόημα έχει να σε ρωτήσει π.χ. αν θέλεις να αναλάβει η εφαρμογή σου άλλους τύπους αρχείων όπως τα mp3, αν θέλεις να προσθέσει shortcuts στο context menu ή στο Quick Launch menu.

    Σωστά, αλλά να διευκρινήσω οτι από δικό μου λάθος παρασυρόμενος από την κουβέντα στα προηγούμενα Posts δεν διευκρίνησα οτι αναφέρομαι πάντα στο RUN key του registry, που δεν μπορεί να καμία εφαρμογή να το "χρησιμποποιεί"... αυθαίρετα!


    Nothing to declare...
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems