Fedd
26-02-2009, 09:25
Innanzitutto saluto tutto il forum dato che mi sono appena registrato... :)
Ora il mio dilemma..
tramite gli eventi Keydown e keypress riesco ad intercettare quando viene premuto un tasto e "sopprimere" la sua esecuzione nella mia form...
vi faccio un esempio...ho una textbox..dove ovviamente premendo le lettere della tastiera queste verranno scritte sulla textbox...tranne quelle che io nn voglio...ad esempio nella mia textbox nn voglio che appaia la lettera Q...e sono riuscito a far si che nn venga scritta nella textbox...e fin qui è tutto ok e semplice....
Tutto questo però è relativo solo alla mia form.....e adesso infatti vi spiego cosa voglio effettivamente fare io....
voglio fare che alla pressione del tasto muto presente in alcune tastiere...io lo intercetto e impedisco che si imposti il muto sull'audio di windows.....in pratica voglio oltre ad intercettare e impedire cio k avviene alla pressione di un tasto nella mia form..impedire anche cio k avviene al di fuori...in questo caso in windows stesso..........
questo è il mio codice che però blocca l'esecuzione esclusivamente sulla mia form...... :
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
textBox1.Text = "";
textBox1.Text += Environment.NewLine + "keycode = " + e.KeyCode.ToString()
+ Environment.NewLine + "keyvalue = " + e.KeyValue.ToString() +
Environment.NewLine + "keydata = " + e.KeyData.ToString();
if (e.KeyCode == Keys.VolumeMute)
textBox1.Text += Environment.NewLine + "Tasto ucciso";
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.VolumeMute)
e.Handled = true;
}
come si deve agire? :confused:
Ora il mio dilemma..
tramite gli eventi Keydown e keypress riesco ad intercettare quando viene premuto un tasto e "sopprimere" la sua esecuzione nella mia form...
vi faccio un esempio...ho una textbox..dove ovviamente premendo le lettere della tastiera queste verranno scritte sulla textbox...tranne quelle che io nn voglio...ad esempio nella mia textbox nn voglio che appaia la lettera Q...e sono riuscito a far si che nn venga scritta nella textbox...e fin qui è tutto ok e semplice....
Tutto questo però è relativo solo alla mia form.....e adesso infatti vi spiego cosa voglio effettivamente fare io....
voglio fare che alla pressione del tasto muto presente in alcune tastiere...io lo intercetto e impedisco che si imposti il muto sull'audio di windows.....in pratica voglio oltre ad intercettare e impedire cio k avviene alla pressione di un tasto nella mia form..impedire anche cio k avviene al di fuori...in questo caso in windows stesso..........
questo è il mio codice che però blocca l'esecuzione esclusivamente sulla mia form...... :
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
textBox1.Text = "";
textBox1.Text += Environment.NewLine + "keycode = " + e.KeyCode.ToString()
+ Environment.NewLine + "keyvalue = " + e.KeyValue.ToString() +
Environment.NewLine + "keydata = " + e.KeyData.ToString();
if (e.KeyCode == Keys.VolumeMute)
textBox1.Text += Environment.NewLine + "Tasto ucciso";
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.VolumeMute)
e.Handled = true;
}
come si deve agire? :confused: