Как нажать кнопку Windows программно с помощью C# SendKeys

Почему перестраивают колесо? раздел AppSettings разработан для точно цели хранить подобные словарю данные в Вашем файле конфигурации.

, Если Вы не хотите помещать слишком много данных в свой раздел AppSettings, можно сгруппировать связанные значения в их собственный раздел следующим образом:


  
    

можно получить доступ к элементам в этом наборе с помощью

using System.Collections.Specialized;
using System.Configuration;

public string GetName1()
{
    NameValueCollection section =
        (NameValueCollection)ConfigurationManager.GetSection("MyDictionary");
    return section["name1"];
}

8
задан Mat 4 May 2012 в 17:05
поделиться

3 ответа

Я не думаю, что вы можете сделать это с помощью SendKeys, вместо этого вам нужно будет p / вызвать функцию API, возможно, keybd_event , чтобы отправить CTRL + ESC или клавишу Windows.

Здесь - это пример открытия меню «Пуск» таким образом в VB, а здесь - это keybd_event с его сигнатурой C # на pinvoke.net.

9
ответ дан 5 December 2019 в 14:04
поделиться

Вам нужно использовать глобальную привязку клавиатуры, чтобы подключаться к клавиатурам вне вашего приложения. О том, как это сделать, есть статья здесь .

-2
ответ дан 5 December 2019 в 14:04
поделиться

Some of the things that a user would do via a WinKey shortcut can be done programmatically in other ways. To take your WinKey+L example, you could instead just use the following statement:

Process.Start("rundll32.exe", "user32.dll,LockWorkStation");

If you could elaborate on what exactly you're trying to accomplish, maybe there's a better way than keybd_event (as Dale has suggested).

5
ответ дан 5 December 2019 в 14:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: