rundll32.exe user32.dll,LockWorkStation
Category: Programmierung
Unter Windows soll man das Meteor Framework über Chocolatey installieren. Unter einer privilegierten Shell ist nach der Installation von Chocolatey folgendes einzugeben:
choco install meteor
Damit wird Meteor unter %LOCALAPPDATA% des Administrators installiert. Es gibt dafür einen Workaround. Man muss vorher 2 Umgebungsvariablen in der Shell ändern:
set LOCALAPPDATA=C:\Users\<username>\AppData\Local set USERPROFILE=C:\Users\<username>
WPF
In WPF gibt es 2 Möglichkeiten auf Tastaturbefehle zu reagieren. Wir gehen hier mal beispielhaft von einer Textbox als GUI Elemt aus, in dem ein Tastaturbefehl abgefangen werden soll.
Keydown Event
XML
<TextBox x:Name="txtTest" KeyDown="txtTest_KeyDown" AcceptsReturn="True" TextWrapping="Wrap" SpellCheck.IsEnabled="True" Language="de-DE" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Auto" />
Code
private void txtTextIntern_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.A &&Keyboard.Modifiers.HasFlag(ModifierKeys.Control))
{
if (Keyboard.Modifiers.HasFlag(ModifierKeys.Shift))
MessageBox.Show("CTRL + SHIFT + A trapped");
else
MessageBox.Show("CTRL + A trapped");
}
}
Als Keybinding
In diesem Beispiel wird auch gezeigt, wie man per Typumwandlung eine Funktion für alle WPF-Elemente mit dem selben Binding nutzen kann.
XML
<TextBox x:Name="txtTextExtern" AcceptsReturn="True" TextWrapping="Wrap" SpellCheck.IsEnabled="True" Language="de-DE" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Auto">
<TextBox.CommandBindings>
<CommandBinding Command="SelectAll" Executed="SelectAllCommand" />
</TextBox.CommandBindings>
<TextBox.InputBindings>
<KeyBinding Key="A" Modifiers="Control" Command="SelectAll" />
</TextBox.InputBindings>
</TextBox>
Code
private void SelectAllCommand(object sender, ExecutedRoutedEventArgs e)
{
if (e.Key == Key.A && Keyboard.Modifiers.HasFlag(ModifierKeys.Control))
{
var obj = (TextBox)sender;
obj.SelectAll();
}
}