吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 427|回复: 7
收起左侧

[经验求助] 如何设置硬件为指定软件启动?

[复制链接]
Cattinho 发表于 2023-3-16 20:24
100吾爱币
有什么办法,能让硬件设备,在WINDOWS系统指定的软件中才能启用?
比如说打印机只能在WPS中能启用,其他软件是用不了打印机。
又比如说摄像头只能在腾讯会议里面启动,其他软件调用不了。


老铁们有什么办法吗?

最佳答案

查看完整内容

‘。 。 。 电脑如何设置只允许运行指...程序打开指定软件《图文教程》 下载地址https://www.aliyundrive.com/s/TmATYRjXbAb 。记得结帖 。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

abx106 发表于 2023-3-16 20:24
‘。


电脑如何设置只允许运行指...程序打开指定软件《图文教程》
下载地址https://www.aliyundrive.com/s/TmATYRjXbAb

记得结帖

abx106 发表于 2023-3-16 20:31
电脑如何设置只允许运行指...程序打开指定软件.docx
https://www.aliyundrive.com/s/TmATYRjXbAb
点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
blackstorm 发表于 2023-3-16 20:41
1. 安装硬件所需的驱动(例如打印机对的驱动,摄像头驱动(一般系统自带))
2. 硬件调用是有接口的,厂商会提供对应的调用接口和SDK,严格按厂商提供的文档调用即可
abx106 发表于 2023-3-16 20:47
小哥 你都转存了 结下帖呗
 楼主| Cattinho 发表于 2023-3-16 20:51
abx106 发表于 2023-3-16 20:47
小哥 你都转存了 结下帖呗

刚刚我没转存,不过你这么专业,我结给你吧等我转存了,我再研究一下
blackstorm 发表于 2023-3-16 20:52
本帖最后由 blackstorm 于 2023-3-16 20:54 编辑

这是用C#实现的代码,可以作为参考


[C#] 纯文本查看 复制代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

//引入命名空间
using AForge.Video.DirectShow;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        //定义一个摄像头设备
        private FilterInfoCollection videoDevices;

        //定义一个视频输入设备
        private VideoCaptureDevice videoSource;

        public Form1()
        {
            InitializeComponent();
            //初始化摄像头设备
            videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
            //判断是否有摄像头设备
            if (videoDevices.Count == 0)
            {
                MessageBox.Show("没有找到摄像头设备");
                return;
            }
            else if (videoDevices.Count == 1)
            {
                //如果只有一个摄像头,直接打开预览
                videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString);
                vispShoot.VideoSource = videoSource; //设置视频源为VideoSourcePlayer控件的属性值
                vispShoot.Start(); //开始预览

                cmbCamera.Items.Add(videoDevices[0].Name); //将摄像头名称添加到下拉列表中
                cmbCamera.SelectedIndex = 0; //设置当前选中项为第一个

                foreach (var resolution in videoSource.VideoCapabilities) //遍历该摄像头支持的分辨率,并添加到下拉列表中
                {
                    cmbResolution.Items.Add(resolution.FrameSize.Width + "*" + resolution.FrameSize.Height);
                }
                cmbResolution.SelectedIndex = 0; //设置当前选中项为第一个

            }
            else 
            {
                for (int i = 0; i < videoDevices.Count; i++)
                {
                    cmbCamera.Items.Add(videoDevices[i].Name); //将所有摄像头名称添加到下拉列表中
                    if (i == 0) 
                    {
                        cmbCamera.SelectedIndex = 0; //设置当前选中项为第一个

                        foreach (var resolution in videoSource.VideoCapabilities) //遍历该摄像头支持的分辨率,并添加到下拉列表中
                        {
                            cmbResolution.Items.Add(resolution.FrameSize.Width + "*" + resolution.FrameSize.Height);
                        }
                        cmbResolution.SelectedIndex = 0; //设置当前选中项为第一个

                    }
				}
            }
        }

        private void btnShoot_Click(object sender, EventArgs e)
        {
            //拍照功能,将VideoSourcePlayer控件的当前画面保存到PictureBox控件中
            if (videoSource == null)
            {
                return;
            }
            Bitmap bitmap = vispShoot.GetCurrentVideoFrame();
            picShow.Image = bitmap;
        }

        private void cmbCamera_SelectedIndexChanged(object sender, EventArgs e)
        {
            //切换摄像头功能,根据下拉列表选择的摄像头,重新设置视频源并开始预览
            if (videoSource != null && videoSource.IsRunning)
            {
                vispShoot.SignalToStop(); //停止预览
                vispShoot.WaitForStop(); //等待停止完成
                videoSource = null;
            }
            
            videoSource = new VideoCaptureDevice(videoDevices[cmbCamera.SelectedIndex].MonikerString);
            vispShoot.VideoSource = videoSource; 
            vispShoot.Start();

            cmbResolution.Items.Clear(); //清空分辨率下拉列表

            foreach (var resolution in videoSource.VideoCapabilities) 
            {
                cmbResolution.Items.Add(resolution.FrameSize.Width + "*" + resolution.FrameSize.Height);
            }
			
			cmbResolution.SelectedIndex = 0; 
        }

        private void cmbResolution_SelectedIndexChanged(object sender, EventArgs e)
        {
            //切换分辨率功能,根据下拉列表选择的分辨率,重新设置视频源并开始预览
            if (videoSource != null && videoSource.IsRunning)
            {
                vispShoot.SignalToStop(); 
                vispShoot.WaitForStop(); 
                videoSource = null;
            }

            videoSource = new VideoCaptureDevice(videoDevices[cmbCamera.SelectedIndex].MonikerString);
            videoSource.VideoResolution = videoSource.VideoCapabilities[cmbResolution.SelectedIndex]; //设置分辨率
            vispShoot.VideoSource = videoSource; 
            vispShoot.Start();
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            //窗体关闭时,停止预览并释放资源
            if (videoSource != null && videoSource.IsRunning)
            {
                vispShoot.SignalToStop();
                vispShoot.WaitForStop();
                videoSource = null;
            }
        }
    }
}
 楼主| Cattinho 发表于 2023-3-16 22:03

不对呀,你这个教程只是说限定允许打开一个程序,跟我想要的效果根本就不一样
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-22 07:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表