Τι πρέπει να κάνετε εάν η Διαχείριση εργασιών των Windows δεν λειτουργεί. Απενεργοποίηση ctrl-alt-delete, alt-tab, Start και άλλων συνδυασμών

Αυτή είναι μια δωρεάν μετάφραση ενός άρθρου από τον ιστότοπο tamas.io σχετικά με την προγραμματική απενεργοποίηση και ενεργοποίηση των πλήκτρων πρόσβασης των Windows με χρήση C#. Πολύ πρόσφατα, εγώ ο ίδιος χρειαζόμουν παρόμοιες λειτουργίες στο πρόγραμμά μου και με έκπληξη ανακάλυψα ότι δεν υπάρχει τίποτα σχετικά με αυτό στο RuNet, και γενικά πολύ λίγα λέγονται για αυτό στο Διαδίκτυο. Λοιπόν, αν ενδιαφέρεστε ή τόσο απαραίτητο όσο ήμουν - ευπρόσδεκτος!

Έγραψα αυτό το άρθρο το 2007 και εξακολουθεί να επιπλέει στον ιστό και να αναφέρεται σε διάφορες συζητήσεις, συμπεριλαμβανομένων των StackOverflow και DotNetSpider, οπότε αποφάσισα να το δημοσιεύσω ξανά. Αυτό ήταν ήδη σχετικό τότε και δεν δοκιμάστηκε στα Windows 7, λόγω του γεγονότος ότι απλά δεν υπήρχε φυσικά εκείνη την εποχή.
Πριν συνεχίσετε την ανάγνωση, σημειώστε ότι αυτό το άρθρο δεν σας ενθαρρύνει να δημιουργήσετε κακόβουλες εφαρμογές. Μπορείτε να χρησιμοποιήσετε τον κωδικό που παρέχεται για εκπαιδευτικούς σκοπούς ή για διασκέδαση.

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

Μην ανησυχείτε, δεν θα τα καλύψουμε εδώ, αλλά θα σας δείξω πώς να δουλέψετε μαζί τους.

Χρησιμοποιούμε δυνατότητες επεξεργασίας μητρώου C# για να ορίσουμε/αλλάξουμε την πολιτική ομάδας για την ακολουθία κλειδιών CTRL-ALT-DEL. Ας δούμε τι μπορείτε να κάνετε χωρίς να γράψετε ούτε μια γραμμή κώδικα. Ανοίξτε το Start -> Run και πληκτρολογήστε gpedit.msc. Μεταβείτε στο: Διαμόρφωση χρήστη > Πρότυπα διαχείρισης > Σύστημα > Επιλογές CTRL+ALT+DELETE. Εδώ μπορείτε να ορίσετε την ενέργεια που θα ενεργοποιηθεί πατώντας αυτόν τον συνδυασμό με τον τυπικό τρόπο. Κάντε διπλό κλικ στο "Remove Task Manager". Η αλλαγή αυτής της ρύθμισης αλλάζει την τιμή στο Software\Microsoft\Windows\CurrentVersion\Policies\System και το DisableTaskMgr θα οριστεί σε 1.

Τώρα το έργο έχει γίνει πιο ξεκάθαρο.

Σημαντικό, μην παραλείψετε αυτήν τη γραμμή:

Χρήση του Microsoft.Win32;

Η μέθοδος που έγραψα μοιάζει με αυτό:

Public void KillCtrlAltDelete() ( RegistryKey regkey; string keyValueInt = "1"; string subKey = @"Software\Microsoft\Windows\CurrentVersion\Policies\System"; δοκιμάστε ( regkey = Registry.CurrentUser.CreateSkey.Veyetal); ("DisableTaskMgr", keyValueInt.Close (Exception ex) ( MessageBox.Show(ex.ToString()); )

Φροντίσαμε λοιπόν να αλλάξουμε την τιμή του συνδυασμού CTRL-ALT-DEL. Ας δούμε τους υπόλοιπους συνδυασμούς. Μπορεί να νομίζετε ότι είναι περίπλοκο, αλλά είναι τόσο εύκολο όσο το ξεφλούδισμα των αχλαδιών. Πώς να απενεργοποιήσετε το ALT + F4; Μόλις 5 γραμμές κώδικα:

Ιδιωτικό κενό Form1_FormClosing(αποστολέας αντικειμένου, FormClosingEventArgs e) ( e.Cancel = true; base.OnClosing(e); )

Πρόστιμο. Έπρεπε να διαβάσω πολλά για τα υπόλοιπα και τώρα θα είναι δύσκολο να αναφέρω ακριβώς εκείνα τα άρθρα που με βοήθησαν να το καταλάβω, αλλά από όλα ήταν περίπου 15 που περιείχαν τουλάχιστον κάποιες χρήσιμες πληροφορίες. Θα σας δώσω μια μέθοδο που ονομάζεται γάντζος. Το απόσπασμα κώδικα χρησιμοποιεί LowLevelKeyboardProc το οποίο:

Η διαδικασία LowLevelKeyboardProc είναι μια διαδικασία κλήσης συνάρτησης που ορίζεται από το λογισμικό ή η βιβλιοθήκη που χρησιμοποιείται σε συνδυασμό με τη συνάρτηση SetWindowsHookEx. Το σύστημα καλεί αυτήν τη λειτουργία κάθε φορά που ένα συμβάν εισαγωγής πληκτρολογίου πρόκειται να μπει στην ουρά στο νήμα εισόδου. Η είσοδος πληκτρολογίου μπορεί να περάσει μέσω του προγράμματος οδήγησης ή μέσω κλήσεων στη λειτουργία keybdevent. Εάν η κλήση πραγματοποιήθηκε μέσω κλήσης keybdevent, τότε έγινε "εισαγωγή". Ωστόσο, το άγκιστρο WHKEYBOARDLL δεν εγχέεται σε άλλη διαδικασία. Αντίθετα, το περιβάλλον αλλάζει σε μια άλλη διαδικασία στην οποία έχει εγκατασταθεί το άγκιστρο και καλείται στην αρχική του μορφή. Στη συνέχεια, το περιβάλλον επιστρέφει στην εφαρμογή που προκάλεσε το συμβάν.

Και πάλι, μην ξεχνάτε:

Χρήση System.Runtime.InteropServices; χρησιμοποιώντας System.Security.Principal; χρησιμοποιώντας System.Diagnostics;

Εδώ είναι όλα τα άλλα που μπορεί να χρειαστείτε:

Δημόσιο στατικό εξωτερικό int SetWindowsHookEx(int ​​· idHook, LowLevelKeyboardProcDelegate lpfn, int hMod, int dwThreadId);
δημόσιο στατικό εξωτερικό int UnhookWindowsHookEx(int ​​hHook);
δημόσιος εκπρόσωπος int LowLevelKeyboardProcDelegate(int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam);

Για δικό μου λογαριασμό, θα προσθέσω ότι στο .NET4 ο κώδικας μοιάζει με:

IntLLKey = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, System.Runtime.InteropServices.Marshal.GetHINSTANCE(System.Reflection.Assembly.GetExecutingAssembly().GetToIntles).2());

Δεν λειτουργεί. Πρέπει να γράψετε κάτι σαν:

Var inst = LoadLibrary("user32.dll").ToInt32(); intLLKey = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, inst, 0);

Λοιπόν, στην αρχή του κώδικα δομής του AddHooks, μεταξύ άλλων εισαγωγών, κάντε:

LoadLibrary: δημόσιο στατικό εξωτερικό IntPtr LoadLibrary(string lpFileName);

Ελπίζω ότι η μετάφραση δεν ήταν πολύ κακή και θα είναι χρήσιμη σε κάποιον.

σφαγή33 25-10-2010 09:59

Χαιρετισμούς αγαπητή κοινότητα!
Πράγματι, το θέμα αναδιατάχθηκε χθες από έναν φίλο μου. Ένα από τα παράπονα του φίλου ήταν ότι "το πληκτρολόγιο κατά κάποιο τρόπο δεν έχει ρυθμιστεί σωστά", συγκεκριμένα, CTRL+ALT+DEL. Λέγεται ότι κάποιος φίλος του είχε αντικαταστήσει νωρίτερα αυτόν τον συνδυασμό με έναν άλλο, τον οποίο ο φίλος μου είχε ξεχάσει βολικά.
Ωστόσο, ακόμη και μετά την επανεγκατάσταση του συστήματος, το CTRL+ALT+DEL δεν λειτουργεί με ασφάλεια. Πείτε μου, γνώστες, πού είναι το πρόβλημα εδώ;
P.S. Έκανα την επανεγκατάσταση, φυσικά, όχι λόγω αυτών των κουμπιών. Ήμουν έκπληκτος που το πρόβλημα με την ενεργοποίηση του αποστολέα παρέμεινε στο νέο σύστημα.

Λεονίντ Ίλιτς 25-10-2010 10:10

εξαρτάται από τις ρυθμίσεις σύνδεσης: εάν ο κωδικός πρόσβασης είναι απενεργοποιημένος, τότε το παράθυρο με τα κουμπιά "κλείδωμα" κ.λπ. δεν θα εμφανιστεί.

σφαγή33 25-10-2010 10:28

Ο κωδικός πρόσβασης είναι απενεργοποιημένος. Και τι, οι συνδυασμοί κουμπιών ρυθμίζονται σε αυτό το παράθυρο;

Λεονίντ Ίλιτς 25-10-2010 10:59

Οι συνδυασμοί δεν έχουν ρυθμιστεί πουθενά. εάν ενεργοποιήσετε τον κωδικό πρόσβασης, τότε θα είναι αυτό που θέλετε.

badydoc 25-10-2010 11:58

1. και αν πατήσετε CTRL+ALT+DEL στην εικόνα του BIOS, γίνεται επανεκκίνηση του υπολογιστή;
1a - αν όχι, τότε το πρόβλημα είναι στο πληκτρολόγιο
1β - αν ναι, τότε το πρόβλημα είναι στα Windows.

βατραχοπέδιλο-ς 25-10-2010 15:38

Εάν δεν μπορείτε να συνδεθείτε στο διεκπεραιωτή; τότε προφανώς είχε απομείνει ένας ιός από το παλιό σύστημα. Που το μπλοκάρει.
Για μένα απενεργοποιείται μετά από συντριβή των Windows ή μετά από βαθιά σάρωση προστασίας από ιούς.

Κους-τενγκρί 25-10-2010 17:09

Έκανες επανεγκατάσταση από την αρχή; Με επαναδιαμόρφωση του διαμερίσματος συστήματος; Ή «ανόητα στην κορυφή» του προηγούμενου;

Φρανκ59 25-10-2010 19:03

=
CTRL+SHIFT+ESC
Δοκιμάστε το!

σφαγή33 25-10-2010 21:20

απόσπασμα: Αναρτήθηκε αρχικά από flipper-s:

Εάν δεν μπορείτε να συνδεθείτε στο διεκπεραιωτή; τότε προφανώς είχε απομείνει ένας ιός από το παλιό σύστημα.


απόσπασμα: Αναρτήθηκε αρχικά από τον Kush-tengri:

Έκανες επανεγκατάσταση από την αρχή; Με επαναδιαμόρφωση του διαμερίσματος συστήματος;


Ναι, έτσι είναι. Ωστόσο, η μονάδα D δεν ήταν διαμορφωμένη.

βατραχοπέδιλο-ς 25-10-2010 22:40

παραθέτω: Η μονάδα δίσκου D δεν διαμορφώθηκε.

Υπάρχουν φάκελοι συστήματος εκεί; Πληροφορίες όγκου συστήματος - όπως αυτό για παράδειγμα;
Ο πιο σημαντικός συλλέκτης ιών και πηγή σφαλμάτων.
Εάν παραμένει, δοκιμάστε να το σβήσετε ή να το μετονομάσετε (από το Life-CD). Και εγκαταστήστε ξανά.

Ερώτηση: Ο συνδυασμός πλήκτρων Alt+tab δεν λειτουργεί στο Win10


Καλημέρα.

Ουσία:
1.εγκατέστησε μια ενημέρωση για το παιχνίδι (επίσημος πελάτης).
2. επανεκκίνηση του συστήματος.
3.παιχνίδι στο παράθυρο.
4. Ο συνδυασμός alt+tab δεν λειτουργεί (εναλλαγή μεταξύ παραθύρων, όχι μόνο στο παιχνίδι, αλλά σε όλο το σύστημα)
5. Ανακάλυψα επίσης ότι ο συνδυασμός πλήκτρων alt+shift δεν λειτουργεί
6. alt+tab - ο συνδυασμός έχει μια νέα λειτουργία (μετακίνηση κατά μήκος γραμμών ή κεφαλίδων στο ενεργό παράθυρο (δεν αλλάζει ούτε παράθυρα))

Πώς προσπάθησα να αντιμετωπίσω:
1. άλλαξε τη συντόμευση πληκτρολογίου για εναλλαγή της γλώσσας (ctrl+shift - λειτουργεί)
2. επέστρεψε τη συντόμευση πληκτρολογίου για εναλλαγή γλωσσών. (alt+shift - δεν λειτουργεί)
3. win+space - λειτουργεί
4. κατέβασε την πιο πρόσφατη ενημέρωση για το win10 - δεν βοήθησε
5. επανήλθε το σύστημα για μερικές ημέρες - η επαναφορά δεν λειτούργησε λόγω κάποιου είδους σφάλματος

Ερώτηση:
Πείτε μου, πώς μπορώ να κάνω τον συνδυασμό πλήκτρων alt+shift και alt+tab να λειτουργήσει όπως πριν;

Απάντηση:Είμαι τρομερά ανειδίκευτος) αλλά αποδεικνύεται ότι έχω το μεγαλύτερο πρόβλημα noob) το πλήκτρο ALT είναι πραγματικά σπασμένο) είναι η πρώτη φορά που το βλέπω)

Προστέθηκε μετά από 20 δευτερόλεπτα
Ευχαριστώ όλους όσους αφιέρωσαν χρόνο στο lamer)

Ερώτηση: Οι συντομεύσεις πληκτρολογίου σταμάτησαν να λειτουργούν


Το πρόβλημα είναι την επόμενη μέρα, δεν λειτουργούν οι συντομεύσεις πληκτρολογίου ctrl+c, ctrl+v κ.λπ. Επισης δεν δουλευουν ολα τα πανω νουμερα 1234567890 σε συνδυασμο με shift δεν μπορω να αλλαξω την γλωσσα με το αριστερό alt+shift, πρεπει να το αλλαξω με το δεξιο.
Συνέδεσα άλλο πληκτρολόγιο στον υπολογιστή και το πρόβλημα παρέμεινε.
πώς να τα πάρεις όλα πίσω7
7- σε αυτή την περίπτωση ένα ερωτηματικό

Απάντηση:Σας ευχαριστώ όλους πολύ, ο λόγος ήταν στο πρόγραμμα ProgDVB!

Ερώτηση: Ο συνδυασμός πλήκτρων Win + E σταμάτησε να λειτουργεί


Γεια σας, από χθες σταμάτησε να λειτουργεί ο συνδυασμός Win + E Ξέρει κανείς ποιο είναι το πρόβλημα; Ευχαριστώ εκ των προτέρων.

Απάντηση:Επίλυση ορισμένων κοινών προβλημάτων πληκτρολογίου:
Το πληκτρολόγιο δεν λειτουργεί καθόλου.
**Τα Windows δεν αναγνωρίζουν το πληκτρολόγιο ή ορισμένα πλήκτρα.
Μερικά κλειδιά κολλάνε.
Οι χαρακτήρες στο πληκτρολόγιο δεν ταιριάζουν με τους χαρακτήρες που εμφανίζονται στην οθόνη.
Τα πλήκτρα SHIFT, CTRL, ALT ή Windows δεν λειτουργούν όπως αναμένεται.

Προστέθηκε μετά από 31 λεπτά
Και κάτι ακόμα. δοκίμασες να συνδέσεις άλλο πληκτρολόγιο; Αν όχι, δοκιμάστε το (είτε λειτουργεί είτε όχι).

Ερώτηση: Συντόμευση πληκτρολογίου για όλους σε έναν τομέα


Καλησπέρα άνθρωποι.
Αυτό είναι το πρόβλημα που ρώτησαν: είναι απαραίτητο όλοι οι χρήστες, σε όλους τους υπολογιστές που βρίσκονται στον τομέα, να χρησιμοποιούν έναν δεδομένο συνδυασμό πλήκτρων για να ξεκινήσουν μια σύνδεση RDP, δηλαδή ο χρήστης ήρθε, άνοιξε τον υπολογιστή, εισήγαγε δεδομένα, πήγε στην επιφάνεια εργασίας τους και μετά πατώντας, για παράδειγμα, ctrl+alt +q και voila, ξεκίνησε η σύνδεση RDP με τον διακομιστή, σαν να είχε κάνει κλικ στη συντόμευση του στην επιφάνεια εργασίας, αλλά δεν θα έπρεπε να υπάρχουν συντομεύσεις. Υποψιάζομαι ότι αυτό πρέπει να γίνει μέσω της πολιτικής ομάδας, αλλά δεν βρήκα τίποτα σχετικά με τις συντομεύσεις πληκτρολογίου εκεί, παρακαλώ βοηθήστε με, ευγενικοί άνθρωποι) Ο ελεγκτής τομέα είναι φυσικά Win2008r2 οι χρήστες στους υπολογιστές τους έχουν win7

Απάντηση:ή απλά πάρτε λογισμικό για τη δημιουργία πλήκτρων πρόσβασης και αναπτύξτε το παντού.
ως εναλλακτική επιλογή - ένας απλός δαίμονας σε κάποιο autoite (ή ένα σενάριο σύνδεσης με έναν ατελείωτο βρόχο ή μια αντίστοιχη υπηρεσία), που θα εκκινήσει ένα RDP-shka με συγκεκριμένα κλικ

Ερώτηση: Μετά από μια ερασιτεχνική επιδιόρθωση, οι συντομεύσεις πληκτρολογίου σταμάτησαν να λειτουργούν


Γεια σε όλους.
Όλα ξεκίνησαν όταν μάθαινα κάτι σαν "Το αντίγραφό σας των Windows δεν είναι γνήσιο".
Βρήκα έναν τυχαίο οδηγό για το πώς να το διορθώσω, όπου έπρεπε να κατεβάσετε κάποιο είδος bootloader w7lx (δεν φαίνεται να είναι ιός xs). Εν ολίγοις, χρησιμοποίησα αυτόν τον bootloader, μετά τον οποίο επανεκκινήθηκε ο υπολογιστής και εμφανίστηκε ένα μενού με επιλογή του τι να φορτώσει: τυπικά Windows ή τυπικά Windows w7lx. Όταν πατάω ένα πλήκτρο, ο υπολογιστής επανεκκινείται, απολύτως οποιοδήποτε πλήκτρο. Λοιπόν, στο τέλος περίμενα 30 δευτερόλεπτα και φόρτωσαν τα Windows με την ένδειξη w7lx.
Όλα φαίνεται να έχουν διορθωθεί, αλλά τώρα το al+tab δεν λειτουργεί για μένα, το στοιχείο ελέγχου δεν λειτουργεί σωστά, μερικές φορές το μενού περιβάλλοντος παγώνει και δεν πέφτει έξω και δεν μπορώ να αλλάξω το μέγεθος των στηλών στο κανένας πίνακας και ούτε αρχεία ούτε εικονίδια μετακινούνται καθόλου. Δηλαδή, κάνω κλικ στη συντόμευση στην επιφάνεια εργασίας, ξεχωρίζει, προσπαθώ να τη σύρω και δεν μετακινείται καν. Έλεγξα τον κόμβο για ιούς, αλλά δεν βρήκα κανέναν.
Προσπάθησε να επαναφέρει το σύστημα - δεν βοήθησε
Έκανα εκκίνηση σε ασφαλή λειτουργία - το πρόβλημα παρέμεινε.
Θα αφαιρούσα τα Windows, αλλά δεν υπάρχει τίποτα για να το εγκαταστήσω από τώρα, οπότε πρέπει να λύσω το πρόβλημα χωρίς αυτό
Τι θα μπορούσε να είναι; Δεν μπορούσα να ψάξω στο google επαρκείς απαντήσεις στο διαδίκτυο.

Απάντηση:Η AVZ επίσης δεν βρήκε τίποτα. Κακόβουλα προγράμματα - 0

Προστέθηκε μετά από 12 λεπτά
Όλα διορθώθηκαν με τον απλό καθαρισμό του πληκτρολογίου. Δεν πίστευα ότι ήμουν τόσο καρκινικός

Ερώτηση: Windows: αντιστοιχίστε την εισαγωγή συμβόλου σε μια συντόμευση πληκτρολογίου.


Το πραγματικό ερώτημα είναι: είναι δυνατόν να εκχωρηθεί με κάποιο τρόπο η εισαγωγή συμβόλου σε έναν συνδυασμό πλήκτρων έτσι ώστε να λειτουργεί σε οποιοδήποτε πρόγραμμα, παρόμοια με το πώς λειτουργεί ο αριθμητικός κώδικας Alt+;
Γιατί υπάρχουν χαρακτήρες που χρειάζομαι συχνά και η είσοδος σε αυτούς μέσω Alt είναι μακρά και δύσκολη.

Απάντηση: ╝╝+

Ερώτηση: Πώς μπορώ να μεταφράσω τη συντόμευση πληκτρολογίου ctrl+v, για παράδειγμα, σε ctrl+z;


Στην πραγματικότητα, το πρόβλημα είναι το εξής: τα πλήκτρα του φορητού υπολογιστή μου απέτυχαν (κενό, I, m και, ε, del, κάτω βέλος, 6 στη δεξιά πλευρά) και αυτό προκάλεσε μεγάλες δυσκολίες. Προς το παρόν, αυτή τη στιγμή σκέφτομαι πώς να μεταφράσω τον συνδυασμό πλήκτρων ctrl+v σε, για παράδειγμα, ctrl+z, επειδή Χρειάζομαι πραγματικά επικόλληση και αντιγραφή κειμένου... Και επίσης, αν κάποιος ξέρει γιατί συνέβη όλο αυτό, παρακαλώ γράψτε (το ξέρω, αυτό είναι άλλο θέμα).