Ctrl shift delete non funziona. Disabilitare ctrl-alt-delete, alt-tab, start e altre scorciatoie

Questa è una traduzione gratuita di un articolo di tamas.io sulla disabilitazione e l'abilitazione programmatica dei tasti di scelta rapida di Windows utilizzando C#. Di recente, io stesso avevo bisogno di funzioni simili nel mio programma, e sono stato sorpreso di scoprire che non c'è nulla al riguardo in RuNet, e in effetti si parla molto poco di questo in rete. Quindi, se sei interessato o hai anche bisogno, come ho fatto io, benvenuto!

Ho scritto questo articolo nel 2007 ed è ancora in circolazione sul web e viene menzionato in varie discussioni tra cui StackOverflow e DotNetSpider, quindi ho deciso di ripubblicarlo. Questo era rilevante anche allora e non è stato testato su Windows 7, poiché a quel tempo semplicemente non esisteva fisicamente.
Prima di continuare a leggere, tieni presente che questo articolo non ti incoraggia in alcun modo a creare applicazioni dannose. È possibile utilizzare il codice fornito per scopi educativi o di intrattenimento.

Dopo un po' di ricerche sulla disabilitazione dei tasti e delle loro combinazioni, ho scoperto che esistono diversi modi per modificare il comportamento delle combinazioni di tasti menzionate in precedenza.

Non preoccuparti, non li tratteremo qui, ma ti mostrerò come lavorarci.

Utilizzare il potere di modifica del registro C# per impostare/modificare i criteri di gruppo per la sequenza di tasti CTRL-ALT-CANC. Vediamo cosa si può fare senza scrivere una sola riga di codice. Apri Start -> Esegui e digita gpedit.msc. Passare a: Configurazione utente > Modelli amministrativi > Sistema > Opzioni CTRL-ALT-CANC (Configurazione utente > Modelli amministrativi > Sistema > Opzioni CTRL+ALT+CANC). Questo è il luogo in cui puoi impostare l'azione che verrà attivata premendo questa combinazione nel modo standard. Fare doppio clic su Rimuovi Task Manager. La modifica di questa impostazione modifica il valore in Software\Microsoft\Windows\CurrentVersion\Policies\System e il valore DisableTaskMgr verrà impostato su 1.

Ora il compito è diventato più chiaro.

Importante, non saltare questa riga:

Utilizzo di Microsoft.Win32;

Il metodo che ho scritto è simile a questo:

Public void KillCtrlAltDelete() ( RegistryKey regkey; string keyValueInt = "1"; string subKey = @"Software\Microsoft\Windows\CurrentVersion\Policies\System"; try ( regkey = Registry.CurrentUser.CreateSubKey(subKey); regkey.SetValue ("DisableTaskMgr", keyValueInt); regkey.Close(); ) catch (Exception ex) ( MessageBox.Show(ex.ToString()); ) )

Pertanto, ci siamo occupati di modificare il valore della combinazione CTRL-ALT-DEL. Diamo un'occhiata ad altre combinazioni. Potresti pensare che sia complicato, ma è facile. Come disabilitare ALT+F4? Solo 5 righe di codice:

Private void Form1_FormClosing(oggetto mittente, FormClosingEventArgs e) ( e.Cancel = true; base.OnClosing(e); )

Bene. Ho dovuto leggere molto del resto e ora sarà difficile nominare esattamente quegli articoli che mi hanno aiutato a capirlo, ma di tutti c'erano 15 pezzi che contenevano almeno alcune informazioni utili. Ti darò un metodo chiamato hook. Il frammento di codice utilizza LowLevelKeyboardProc che:

La procedura LowLevelKeyboardProc è una procedura di chiamata di funzione definita dal programma o dalla libreria utilizzata insieme alla funzione SetWindowsHookEx. Il sistema chiama questa funzione ogni volta che un evento di input da tastiera sta per essere inviato alla coda del flusso di input. L'input da tastiera può passare attraverso il driver o tramite chiamate alla funzione keybdevent. Se la chiamata proveniva da una chiamata keybdevent, allora è stata "iniettata". Tuttavia, l'hook WHKEYBOARDLL non viene inserito in un altro processo. Al contrario, il contesto viene passato a un altro processo, sul quale l'hook viene installato e richiamato nella sua forma originale. Quindi, il contesto torna all'applicazione che ha generato l'evento.

E ancora, non dimenticare:

Utilizzo di System.Runtime.InteropServices; utilizzando System.Security.Principal; utilizzando System.Diagnostics;

Tutto il resto di cui potresti aver bisogno è qui:

Public static extern int SetWindowsHookEx(int ​​idHook, LowLevelKeyboardProcDelegate lpfn, int hMod, int dwThreadId); public static extern int UnhookWindowsHookEx(int ​​hHook); public delegate int LowLevelKeyboardProcDelegate(int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam); public static extern int CallNextHookEx(int ​​hHook, int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam); public const int WH_KEYBOARD_LL = 13; /*codice necessario per disabilitare il menu di avvio*/ private static extern int FindWindow(string className, string windowText); private static extern int ShowWindow(int hwnd, int command); private const int SW_HIDE = 0; private const int SW_SHOW = 1; public struct KBDLLHOOKSTRUCT ( public int vkCode; public int scanCode; public int flags; public int time; public int dwExtraInfo; ) public static int intLLKey; public int LowLevelKeyboardProc(int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam) ( bool blnEat = false; switch (wParam) ( case 256: case 257: case 260: case 261: //Alt+Tab, Alt+Esc, Ctrl+Esc , Tasto Windows, blnEat = ((lParam.vkCode == 9) && (lParam.flags == 32)) | ((lParam.vkCode == 27) && (lParam.flags == 32)) | ((lParam. flags == 32)) | vkCode == 27) && (lParam.flags == 0)) |((lParam.vkCode == 91) && (lParam.flags == 1)) |((lParam.vkCode == 92) && (lParam.flags == 1)) | ((lParam.vkCode == 73) && (lParam.flags == 0)); break; ) if (blnEat == true) ( ​​​​return 1; ) else ( return CallNextHookEx(0, nCode, wParam, ref lParam); ) ) public void KillStartMenu() ( int hwnd = FindWindow("Shell_TrayWnd", ""); ShowWindow(hwnd, SW_HIDE); ) private void Form1_Load(oggetto mittente , EventArgs e) ( intLLKey = SetWindowsHookEx( WH_KEYBOARD_LL, LowLevelKeyboardProc, System.Runtime.InteropServices.Marshal.GetHINSTANCE(System.Reflection.Assembly.GetExecutingAssembly().GetModules()).ToInt32(), 0); )
Ovviamente, puoi restituire a livello di codice tutti i valori riabilitando tutte le combinazioni:
public static void ShowStartMenu() ( int hwnd = FindWindow("Shell_TrayWnd", ""); ShowWindow(hwnd, SW_SHOW); ) public static void EnableCTRLALTDEL() ( try ( string subKey = @"Software\Microsoft\Windows\CurrentVersion\ Policies\System"; RegistryKey rk = Registry.CurrentUser; RegistryKey sk1 = rk.OpenSubKey(subKey); if (sk1 != null) rk.DeleteSubKeyTree(subKey); ) catch (Exception ex) ( MessageBox.Show(ex.ToString ()); ) ) private void Form1_FormClosing(oggetto mittente, FormClosingEventArgs e) ( UnhookWindowsHookEx(intLLKey); )

Da parte mia aggiungerò che in .NET4 il codice del modulo:

IntLLKey = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, System.Runtime.InteropServices.Marshal.GetHINSTANCE(System.Reflection.Assembly.GetExecutingAssembly().GetModules()).ToInt32(), 0);

Non funziona. Devi scrivere qualcosa del tipo:

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

Bene, all'inizio del codice della struttura AddHooks, tra le altre cose, importa:

LoadLibrary: public static extern IntPtr LoadLibrary(string lpFileName);

Spero che la traduzione non sia andata del tutto male e possa essere utile a qualcuno.

Nonostante molti siano già passati a Windows 10, io rimango ancora su 7. E l'altro giorno io stesso ho riscontrato un problema all'avvio del mio computer, quando mi è sembrato un avviso con la famigerata combinazione di tasti Ctrl + Alt + Canc. Quando viene premuto, tutto si ripete ancora e ancora.

Dopo averlo risolto, ho deciso di scrivere un articolo / istruzioni su come eliminare questo errore, perché il computer non si accende, scrive Ctrl + Alt + Canc.

Cause di questo famigerato errore BOOTMGR

Se approfondisci l'essenza del messaggio, puoi chiarire che l'errore è dovuto alla compressione del file BOOTMGR.
Per questo motivo Windows non riesce ad avviarsi, come indicato dai messaggi che compaiono.

Dopo aver premuto i tasti, il computer si riavvia, ma molto spesso all'accensione del computer scrive Ctrl + Alt + Canc.

L'intera base di questo errore risiede nel fatto che l'opzione di compressione delle informazioni è collegata al disco rigido, il che aiuta a risparmiare spazio sul supporto.

Per non incontrare mai un problema del genere, vale la pena vedere se l'opzione "riduci disco per risparmiare spazio" è selezionata.

Se lo è, allora deve essere rimosso, altrimenti scoprirai in pratica che tipo di problema è.
Sfortunatamente, questo è un difetto degli specialisti Microsoft, il sistema di avvio non è in grado di aggirare la compressione del disco di sistema.

Un altro motivo di questo problema potrebbe essere che il disco di sistema è "bacato" a causa di errori nel funzionamento del controller o è danneggiato. In una situazione del genere, la sostituzione del disco sarà la soluzione più corretta.

Come posso rimuovere ctrl + alt + del durante il caricamento di Windows

Ora proviamo a capire cosa fare se, all'avvio del computer, chiede di premere Ctrl + Alt + Canc?

Gli sviluppatori non hanno previsto la funzione di "compressione" del file secondo le istruzioni del sistema.
Per questo motivo, la possibilità di ripristinare il file viene visualizzata solo se l'utente dispone di un disco di installazione contenente la versione originale.

Per prima cosa devi inserire il disco nell'unità e provare a riavviare il sistema.

Se i tentativi non hanno avuto successo, dovresti entrare nel BIOS e impostare il lettore CD come dispositivo di avvio.

Dopo alcuni minuti, dovrebbe apparire una finestra che ti chiede di selezionare una lingua.
Selezioniamo la lingua russa e facciamo clic su "Avanti", dopo la comparsa di "Ripristino configurazione di sistema" è necessario fare clic su "Continua".

Successivamente, dovrebbe iniziare la ricerca del sistema operativo installato sul computer. Dovrai selezionare un sistema.
Premiamo Windows 7, quindi "avanti", dovrebbe apparire una finestra con vari metodi di ripristino, selezionare "prompt dei comandi".

Dopo la comparsa di una finestra nera, scriviamo in essa nell'ordine specificato:
C: → premere Invio

bootrec /fixmbr → premi Invio

Se è richiesta la conferma, premere nuovamente il pulsante Invio.

Ora resta da ottenere il disco di installazione e riavviare il sistema.

Se tutto viene eseguito secondo le istruzioni, l'errore scomparirà.

Ma potrebbe risultare così, o meglio non funzionerà in alcun modo, solo allora. Se c'erano dati sul computer e devi salvarli, c'è solo una via d'uscita, installare il sistema senza formattare il disco su quello vecchio. Dopo tale installazione, raccogliere prima i dati necessari e quindi reinstallare, ma già nella mente e formattare il disco.

carneficina33 25-10-2010 09:59

Ciao cara comunità!
In realtà, un soggetto - ieri ha riorganizzato il familiare maialino. Una delle lamentele di un amico è stata che "in qualche modo la tastiera non è impostata così", in particolare CTRL + ALT + CANC. Presumibilmente, un suo amico aveva precedentemente cambiato questa combinazione con un'altra, che il mio amico aveva tranquillamente dimenticato.
Tuttavia, anche dopo aver reinstallato il sistema, CTRL + ALT + CANC non funziona correttamente. Dimmi, gente esperta, dov'è lo stipite qui?
P.S. Ho fatto la reinstallazione, ovviamente, non a causa di questi pulsanti. Sono rimasto sorpreso dal fatto che il problema con l'inclusione del dispatcher sia rimasto nel nuovo sistema.

Leonid Ilyich 25-10-2010 10:10

dipende dalle impostazioni di accesso: se la password è disabilitata, la finestra con i pulsanti "lucchetto", ecc. non apparirà.

carneficina33 25-10-2010 10:28

La password è disabilitata. E cosa, in questa finestra, configura le combinazioni di pulsanti?

Leonid Ilyich 25-10-2010 10:59

da nessuna parte le combinazioni sono configurate. se la password è abilitata allora sarà quello che vuoi.

badydoc 25-10-2010 11:58

1. E se premi CTRL + ALT + CANC sull'immagine del BIOS, il computer si riavvia?
1a - in caso contrario, il problema è nella tastiera
1b - se sì, allora è in Windows.

flipper-s 25-10-2010 15:38

Se non riesci ad accedere al dispatcher? poi a quanto pare dal vecchio sistema c'era un virus. che lo blocca.
L'ho ridotto dopo un arresto anomalo di Windows o dopo una scansione antivirus approfondita.

Kush tengri 25-10-2010 17:09

Hai reinstallato da zero? Con la riformattazione della partizione di sistema? O "stupidamente finito" il precedente?

Franco59 25-10-2010 19:03

=
CTRL+MAIUSC+ESC
Tentativo!

carneficina33 25-10-2010 21:20

citazione: Originariamente postato da flipper-s:

Se non riesci ad accedere al dispatcher? poi a quanto pare dal vecchio sistema c'era un virus.


citazione: Originariamente postato da Kush-Tengri:

Hai reinstallato da zero? Con la riformattazione della partizione di sistema?


Si, esattamente. Tuttavia, il disco D non è stato formattato.

flipper-s 25-10-2010 22:40

citazione: il disco D non è stato formattato.

E ci sono cartelle di sistema? Informazioni sul volume del sistema - come questo per esempio?
Il raccoglitore di virus più importante e la fonte di errori.
Se rimane, prova a sovrascriverlo o rinominarlo (da Life-CD). E reinstalla su uno nuovo.

Buon pomeriggio. Alla fine, mi sono seduto per scrivere il primo articolo dell'anno. In qualche modo mi sono completamente rilassato durante le lunghe vacanze di Capodanno, è già passata anche una settimana lavorativa e siamo sopravvissuti con successo. E ora mi sono iscritto al torneo BFCL Cup # 7, e anche se è improbabile che arriviamo almeno ai quarti di finale (non tanto la mia squadra è nerd), ma l'allenamento va avanti e c'è poco tempo rimasto per il sito. Ma smettila di trovare scuse, in questo momento sto scrivendo ed è bello.

Quindi, l'essenza del problema è semplice: in qualche modo un virus è entrato nel tuo computer, l'hai già rimosso utilizzando Dr.Web CureIT o Kasperskiy LiveCD, ma sono già state apportate alcune spiacevoli modifiche al sistema, ad esempio, o anche lì non c'è modo di aprire il task manager. E se ho già scritto del primo caso, ora parlerò del secondo. In generale, dopo essermi sbarazzato del virus, consiglio sempre di farlo. E ti consiglio anche di farlo prima di iniziare ad agire secondo le istruzioni.

Ripristino tramite l'Editor criteri di gruppo

Non adatto per le versioni base di Win8 e Win 7.

Questo metodo non è universale, poiché Microsoft ha limitato l'installazione dell'Editor criteri di gruppo nelle versioni domestiche di base e più semplici dei propri sistemi operativi. Ma se hai un'edizione Win8 pro, Win7 Home Premium o superiore, allora fa al caso tuo. Tuttavia, è un modo più conveniente.


Ripristino tramite l'editor del registro

Questo metodo è universale.

È tutto. Spero che questo articolo ti sia stato utile, fai clic su uno dei pulsanti qui sotto per parlarne ai tuoi amici. Iscriviti anche agli aggiornamenti del sito inserendo la tua e-mail nel campo a destra o iscrivendoti a un gruppo in Vkontakte.

D: La combinazione di tasti alt+tab di Win10 non funziona


Buon pomeriggio.

Essenza:
1 .installato un aggiornamento sul gioco (client ufficiale).
2. riavviato il sistema.
3. gioco nella finestra.
4. La combinazione alt + tab non funziona (passaggio da una finestra all'altra, non solo nel gioco, ma in tutto il sistema)
5. ha anche scoperto che la combinazione di tasti alt + maiusc non funziona
6. alt + tab - la combinazione ha una nuova funzione (saltare attraverso righe o intestazioni nella finestra attiva (non cambia nemmeno finestra))

Come ho cercato di guarire:
1. cambiata la scorciatoia da tastiera per cambiare la lingua (ctrl + shift - funziona)
2. restituito la scorciatoia da tastiera per cambiare la lingua. (alt+shift non funziona)
3. vinci + spazio - funziona
4. scaricato l'ultimo aggiornamento per win10 - non ha aiutato
5. rollback del sistema per un paio di giorni: il rollback non è andato a buon fine a causa di qualche tipo di errore

Domanda:
dimmi come posso far funzionare le combinazioni di tasti alt+shift e alt+tab alla vecchia maniera?

Risposta: Sono terribilmente imbarazzante) ma si è scoperto che avevo il problema più niubbo) il tasto ALT si è davvero rotto) lo vedo per la prima volta)

Aggiunto dopo 20 secondi
Grazie a tutti coloro che hanno dedicato del tempo a lamer)

D: Le scorciatoie da tastiera hanno smesso di funzionare


il problema è che il secondo giorno successivo le scorciatoie da tastiera ctrl+c, ctrl+v, ecc. non funzionano. Inoltre, tutte le cifre superiori 1234567890 non funzionano in combinazione con shift, la lingua non può essere cambiata con alt + shift di sinistra, devo cambiarla con quella di destra.
Ho collegato un'altra tastiera al computer, il problema è rimasto.
come recuperare tutto
7- in questo caso un punto interrogativo

Risposta: Mille grazie a tutti, il motivo era nel programma ProgDVB!

Discussione: La combinazione di tasti Win + E ha smesso di funzionare


Salve, da ieri la combinazione Win + E ha smesso di funzionare, qualcuno sa qual è il problema? Grazie in anticipo.

Risposta: Risoluzione di alcuni problemi comuni della tastiera:
La tastiera non funziona affatto.
**Windows non riconosce la tastiera o alcuni tasti.
Alcuni tasti sono bloccati.
I caratteri sulla tastiera non corrispondono ai caratteri visualizzati sul monitor.
I tasti MAIUSC, CTRL, ALT o Windows non funzionano come previsto.

Aggiunto dopo 31 minuti
E inoltre; hai provato un'altra tastiera? In caso contrario, provalo (funzionerà o no).

Domanda: scorciatoia da tastiera per tutti gli utenti del dominio


Buon pomeriggio gente.
Tale attività è stata impostata, è necessario che per tutti gli utenti, su tutti i PC che si trovano nel dominio, venga avviata una connessione RDP utilizzando una determinata combinazione di tasti, ovvero l'utente è arrivato, ha acceso il PC, ha inserito i dati, è andato sul suo desktop, quindi ha premuto, ad esempio, ctrl + alt + q e voilà, è stata avviata una connessione RDP al server, come se avesse premuto il suo collegamento sul desktop, ma non dovrebbero esserci collegamenti. Sospetto che questo dovrebbe essere fatto attraverso i criteri di gruppo, ma non ho trovato nulla sulle scorciatoie da tastiera lì, aiuta le persone gentili)

Risposta: o semplicemente prendi il software per la creazione di tasti di scelta rapida e distribuiscilo ovunque.
in alternativa: un semplice demone su qualche autoite (o uno script di accesso con un ciclo infinito o il servizio corrispondente), che avvierà rdp-shku a determinati clic

Domanda: dopo che le scorciatoie da tastiera amatoriali hanno smesso di funzionare


Ciao a tutti.
Tutto è iniziato con il fatto che ho tirato fuori una specie di schifezza come "La tua copia di Windows non è autentica".
Ho trovato una guida casuale su come risolverlo, lì era necessario scaricare alcuni bootloader w7lx (sembra non un virus xs). In breve, ho utilizzato questo bootloader, dopodiché il computer si è riavviato ed è apparso un menu con la scelta di cosa caricare: Windows standard o Windows standard w7lx. Quando il computer preme i tasti, assolutamente qualsiasi tasto. Bene, alla fine, ho solo aspettato 30 secondi e ha caricato Windows contrassegnato con w7lx.
Sembrava tutto risolto, ma ora al + tab non funziona per me, il controllo non funziona correttamente, a volte il menu contestuale si blocca e non cade, e non riesco a ridimensionare le colonne in nessuna tabella e né i file né le icone si muovono a Tutto. Cioè, clicco sul collegamento sul desktop, si distingue, provo a trascinarlo e non si sposta nemmeno dal suo posto. Ho controllato il nodo per i virus, non è stato trovato.
Ripristino configurazione di sistema provato - non ha aiutato.
Avviato in modalità provvisoria - il problema persiste.
Demolirei Windows, ma non c'è nulla per installarlo da ora, quindi dobbiamo risolvere il problema senza di esso
Cosa potrebbe essere? Non sono riuscito a trovare una buona risposta su internet.

Risposta: Nemmeno AVZ ha trovato nulla. Programmi dannosi - 0

Aggiunto dopo 12 minuti
Tutto è stato risolto con una semplice pulizia della tastiera. Non pensavo di essere così tanto cancro

D: Windows: assegna l'inserimento di caratteri a una scorciatoia da tastiera.


In realtà la domanda è: è possibile in qualche modo assegnare l'inserimento di un carattere a una scorciatoia da tastiera, in modo che funzioni in qualsiasi programma, proprio come funziona Alt + codice numerico?
Perché ci sono caratteri di cui ho spesso bisogno ed è lungo e difficile inserirli tramite Alt.

Risposta: ╝╝+

Domanda: come tradurre la scorciatoia da tastiera ctrl+v in, ad esempio, ctrl+z?


In realtà il problema è questo: i tasti del mio laptop sono stati rifiutati (spazio, i, m e, uh, del, freccia giù, 6 sul lato destro) in relazione a questo, sono sorte grandi difficoltà. Finora, al momento sono stato guidato dal pensiero di come tradurre la combinazione di tasti ctrl + v in, ad esempio, ctrl + z, perché. inserendo e copiando il testo, oh, quanto ne ho bisogno ... Eppure, se qualcuno sa perché è successo tutto questo, per favore scrivi (lo so, questo è un altro argomento).