Sergey Alexandrovich Kryukov
Член 8973214 написал:
Да, следующая ссылка показывает, как создать сочетание клавиш в windows, чтобы открыть приложение [какая — то нерелевантная ссылка, удалена-SA], но я хочу сделать это с помощью кода C#.
Пожалуйста, смотрите мой последний комментарий к решению 1.
Вы можете сделать это одним из двух способов: 1) Вы можете заставить некоторые приложения слушать некоторые глобальные сочетания клавиш и активировать себя; помните, что приложение не может запустить себя; также помните, что приложения определяют ярлыки независимо, поэтому различные приложения могут конфликтовать; 2) вы можете иметь отдельное приложение "менеджер" и зарегистрировать некоторые приложения для запуска или активации.
Первое, что вам нужно понять, это то, что вы спрашиваете о "ярлыках", которые не имеют ничего общего с обычными ярлыками, используемыми внутри каждого приложения. Если вы выполните поиск в Интернете,
почти все результаты поиска будут касаться этих "обычных" ярлыков, а не тех, о которых вы спрашиваете.
В обоих случаях вам нужно будет использовать
Крючки Для Окон:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms632589%28v=vs.85%29.aspx[
^].
Более того, в обоих случаях вам нужно сделать свои крючки
система-глобальная. Согласно документации Microsoft, для этого потребуется крючок, установленный в некоторых
родной файл DLL. Это означает, что вы не можете сделать это полностью в C#. Вы можете иметь только основное приложение в C#, но это должно загрузить собственную библиотеку DLL и использовать ее для установки крючка. Более того, крючок никогда не захватывает в одну и ту же нить. Вам нужно будет использовать какой-то потоконезависимый способ связи между обработчиком крючка и приложением, возможно, используя IPC (
http://en.wikipedia.org/wiki/Inter-process_communication[
^]).
Есть основная идея? Чем пытаться его реализовать, но предупреждаю: это будет довольно большая работа, а функциональность крючка довольно трудно отладить. В то же время я почти уверен, что есть доступные приложения, которые делают почти то же самое. Итак, вопрос: стоит ли оно того? :-)
—СА
Member 13785296
частный недействительными методе form1_load(объект отправителя, EventArgs в электронной)
{
videoDevices = новая коллекция FilterInfoCollection(FilterCategory.VideoInputDevice);
VideoCaptureDevice videoSource = newVideoCaptureDevice(videoDevices[0].Monikerstr);
видеоисточник.Вызов newframe += новый NewFrameEventHandler(video_NewFrame);
//видеоисточник.VideoResolution = видеоисточник.Видео возможности[0];
видеоисточник.DesiredFrameSize = новый размер(752, 582); //нет никакого результата
//
видеоисточник.Начать();
}
частная video_NewFrame недействительным( объект отправителя, EventArgs в NewFrameEventArgs )
{
video = (Bitmap)eventArgs.Рамка.Клон();
Cam1 в.Изображение = (изображение)EventArgs в.Рамка.Клон();
// MessageBox.Шоу(eventArgs.Рамка,Размер.Метод toString());
}
любая помощь... как сделать изменение разрешения.
этот код используется любой камерой, может использовать разрешение 640x480.
я хочу использовать разрешение 1920x1080,