更改监听输入源

2024-03-27

我想用 AutoHotkey 更改我的显示器输入源,并且我已经部分工作了。但是,当我使用热键将显示器输入源从 pc(DVI) 更改为我的 xbox(YPbYr) 时,显示器未检测到 xbox 已打开,它显示没有源。

显示器 => 华硕 VG236

VCP 监视器输入 我的监视器的源代码:

  • DVI => 3
  • HDMI => 4
  • YPbPr => 12

我正在使用Windows API监控配置函数 http://msdn.microsoft.com/en-us/library/windows/desktop/dd692964%28v=vs.85%29.aspx特别是使用 DDC/CI 的 SetVCPFeature 函数。

经过一番研究后,我决定设置 VCP 输入源,这有一些有用的信息 ftp://ftp.cis.nctu.edu.tw/pub/csie/Software/X11/private/VeSaSpEcS/VESA_Document_Center_Monitor_Interface/mccsV3.pdf特别是第 71 页有关输入源的内容。

自动热键代码:

setMonitorSource(source)
{  
  ; Initialize Monitor handle
  hMon := DllCall("MonitorFromPoint"
    , "int64", 0 ; point on monitor
    , "uint", 1) ; flag to return primary monitor on failure


  ; Get Physical Monitor from handle
  VarSetCapacity(Physical_Monitor, (A_PtrSize ? A_PtrSize : 4) + 128, 0)

  DllCall("dxva2\GetPhysicalMonitorsFromHMONITOR"
   , "int", hMon   ; monitor handle
   , "uint", 1   ; monitor array size
   , "int", &Physical_Monitor)   ; point to array with monitor

  hPhysMon := NumGet(Physical_Monitor)

  DllCall("dxva2\SetVCPFeature"
    , "int", hPhysMon
    , "char", 0x60 ;VCP code for Input Source Select
    , "uint", source)


  ; Destroy handle
  DllCall("dxva2\DestroyPhysicalMonitor", "int", hPhysMon)
}

!z::
setMonitorSource(12)
return

我想知道是否需要在某处设置另一个 VCP 代码值来通知监视器源已更改。

Note:我没有 HDMI 设备,因此我无法判断这是否仅影响 YPbYr 还是所有输入。

Question:如何让我的显示器识别出 YBpYr 已打开,因为现在显示器的行为就像 YBpYr 未打开一样?

Question: 除了 0x60 输入源之外,我还需要设置另一个 VCP 代码值吗?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改监听输入源 的相关文章

  • Windows 控制台中的 C++ 按键输入

    我目前正在开发各种consoleWindows 中的游戏无法通过常规输入真正运行cin 我怎样才能 以简单的方式仅使用 MSVC 中提供的标准 Windows 库 让程序等待 特定 按键并返回按键 ID 它必须适用于包括箭头键在内的所有按键
  • 如果防火墙打开,Java 7 会阻止 Windows Vista 和 7 上的 FTP 传输。有任何想法吗?

    Java 7 阻止 Windows Vista 和 7 上的 FTP 传输 在 FTP 中 在传输文件之前 必须发送 PORT 或 PASV 命令 一旦发送其中一个命令 Windows 防火墙就会关闭发送该命令的套接字 仅当防火墙打开并且
  • win32 内容已更改,但除非移动窗口,否则不会显示更新

    我的 win32 GUI 内容每秒都会更改 但除非手动移动窗口 否则不会显示更新 我尝试每秒弹出一个消息框来触发窗口刷新 它成功了 因此 这证明我的内容确实发生了变化 但窗口没有更新 我希望刷新窗口而不是每次都弹出消息框 有没有这样的窗口功
  • 新的 Windows 应用程序 - 什么语言?

    我们目前正处于开发 Windows 桌面应用程序的前期阶段 但当听到有关 Windows 8 Silverlight WPF Jupiter 的所有最新讨论时 我不知道该相信什么了 现在用WPF启动一个新项目是不是有问题 我应该切换到 Si
  • Windows 内存映射文件

    我正在尝试研究 Windows 内核在内存映射文件 虚拟内存方面的行为 具体来说 我感兴趣的是确定内存映射文件的内容 由 Windows 刷新到磁盘的频率以及 Windows 使用什么标准来决定是时候这样做 我在网上做了一些研究 除了 MS
  • 系统错误 124 - SHFileOperation 的 ERROR_INVALID_LEVEL

    我在使用时遇到问题SHFileOperation SHFileOperation SHFILEOPSTRUCT https stackoverflow com questions 9191415 shfileoperation shfile
  • 使用 System.Security.Cryptography 将 Win32 Crypto API 调用转换为 C#

    我接到一项任务 要删除我们产品的一个 dll 并将其替换为纯 C 的 dll 旧的 DLL 是 NET 2 0 托管 C C CLI 它包装了对 Win32 本机加密 API 的调用 新的 DLL 应公开具有相同名称和方法的新对象 但应使用
  • 从安全角度来看,在 Windows 中使用管道是否被认为是危险的?

    从安全角度来看 在 Windows 中使用管道是否被认为是危险的 管道在 Windows 中并不是一个特殊的安全风险 如果您担心安全性 请确保将管道上的安全描述符设置为适当的 DACL 如果您的使用要求管道开放供任何人连接 那么您必须将传入
  • 多重处理:如何从子进程重定向标准输出?

    注意 我见过multiprocessing Process 的日志输出 https stackoverflow com questions 1501651 log output of multiprocessing process 不幸的是
  • Windows、Emacs、Git Bash 和 shell 命令

    Windows 7 Emacs 24 3 1 git 1 8 1 msysgit 1 我的等效 emacs 文件中有以下内容 if equal system type windows nt progn setq explicit shell
  • Windows 任务计划程序报告不正确/不一致的结果代码

    背景 我正在尝试在计划任务失败时收到电子邮件通知 我的任务可以通过退出代码 错误级别 指示失败 我想使用它并遵循中描述的过滤方法这个答案 https stackoverflow com a 4289360 29805触发电子邮件 Probl
  • 绘制自定义 Windows 控件时出现问题

    我正在尝试使用 Windows 中的 uxTheme 库绘制自己的自定义控件 但我无法弄清楚为什么我的控件看起来不像常规 Windows 控件 据说 使用我正在使用的相同主题 上图显示了标准的 Windows ComboBox 顶部 和使用
  • Windows 上的 wchar_t 和 char16_t 是一样的吗?

    我有一个实例std u16string 我可以通过它吗c str 到一个 Win32 API 它期望LPCWSTR 没有任何类型的转换 例如 我可以安全地这样做吗 auto u16s std u16string u Hello SetWin
  • 如何从网页启动 Windows 应用程序?

    我们有一个公司内部网 并且权力机构认为拥有一组代表大多数代表使用的应用程序 Outlook Excel 少数其他应用程序 的图标 链接会很好 这个想法是 如果安装了应用程序 单击链接 图标将在客户端计算机上启动该应用程序 有人曾经有过这样的
  • 无法在 Windows 7 机器中使用 OpenCV 2.4.3、Python 2.7 打开“.mp4”视频文件

    我目前正在进行一个涉及读取 mp4 视频文件的项目 我遇到的问题是它在Windows 7机器上使用Python 2 7 32位 OpenCV 2 4 3 cv2 pyd 代码片段如下 try video cv2 VideoCapture v
  • Sigar API for JAVA(需要指南)

    我已经下载了 Sigar API http support hyperic com display SIGAR Home http support hyperic com display SIGAR Home 并希望在项目中使用它来获取有关
  • c 编程检查是否按下按键而不停止程序

    如您所知 在 Windows 中使用 getch 时 应用程序会等待您按下某个键 我如何在不冻结程序的情况下读取密钥 例如 void main char c while 1 printf hello n if c getch 谢谢 您可以使
  • 如何列出静态链接的 python 版本中可用的所有 openssl 密码?

    在python 2 7 8到2 7 9升级中 ssl模块从使用更改为 DEFAULT CIPHERS DEFAULT aNULL eNULL LOW EXPORT SSLv2 to DEFAULT CIPHERS ECDH AESGCM D
  • 检测反射 DLL 注入

    在过去的几年中 恶意软件 以及一些渗透测试工具 如 Metasploit 的 meterpreter 负载 已经开始使用反射 DLL 注入 PDF http www harmonysecurity com files HS P005 Ref
  • 阴影空间示例

    EDIT 我接受了下面的答案 并添加了我自己的代码的最终修订版 希望它向人们展示影子空间分配的实际示例 而不是更多的文字 编辑 2 我还设法在 YouTube 视频 所有内容 的注释中找到了一个调用约定 PDF 的链接 其中有一些关于 Li

随机推荐

  • 获取计算机名称[重复]

    这个问题在这里已经有答案了 我想获取当前的计算机名称 这是我的代码 Public Function GetComputerName As String Dim ComputerName As String ComputerName Syst
  • 如何在小部件层次结构中找到多个相同类型的小部件?

    我正在为我的一个 flutter web 应用程序开发一些集成测试 我想考虑从上到下的方法 在下面的小部件层次结构树中专门定位容器 宽度 50 高度 50 ParentWidget gt 行 gt 文本 SizedBox 行 gt Cont
  • 通过 XML 任务与 SSIS 进行数据转换

    我使用了简单的 Web 服务来添加数字 并将结果返回到变量中 格式如下
  • 使用 Malloc 在 C 中定义结构

    我问了一个早些时候提问 https stackoverflow com questions 2177391 allocating memory for a structure in c关于使用 malloc 定义结构 这是大多数人给我的答案
  • 如何在 ASP.NET MVC 项目中指定默认应用程序池?

    在我的 ASP NET MVC 项目中 我添加了一个parameters xml 文件 如下所示
  • momentjs 中两个时间之间的小时差(HH:MM:SS a)

    我有两次没有约会 var startTime 12 16 59 am var endTime 06 12 07 pm 我想通过使用来显示上述时间之间的总小时数moment js 如果不可能在moment js那么请让我知道使用javascr
  • DataGridViewCell 在更改焦点之前不会更新

    我的 DataGridView 有这个事件 当按下删除键时 它应该将 CurrentCell Value 变为 null 实际上 它确实有效 但在我更改选定 聚焦的单元格之前 该值不会改变 如何修改才能立即更新 这是我的代码 private
  • 无法在 C# 中运行禁用邮箱 Powershell

    我正在尝试用 C 重现 Powershell 的以下工作块 我们正在连接 Exchange2010 实例 ExURI http ExchangeUrl PowerShell Session New PSSession Configurati
  • 更改 onclick 事件,JavaScript 不起作用

    我有这个 function tp visible action if action 1 document getElementById tp style display block document getElementById tp ac
  • 按点击付费断点

    如何在 PPC 上 具体来说 在 OS X 上 实现断点 例如 在 x86 上 通常使用 INT 3 指令 0xCC 完成 对于 ppc 是否有与此类似的指令 或者还有其他设置 实施的方式吗 使用 gdb 和一个十六进制转储自身的函数 我得
  • 返回 Activity 而不重新创建(不调用 onCreate())

    我想问类似的问题 返回上一屏幕而不创建新实例 https stackoverflow com questions 11715848 go back to previous screen without creating new instan
  • 如何在 Rails 的 ERB 模板中使用 `<%=` 来修剪最后出现在 `pre` 元素中的前导空白?

    据我在这里研究 这不是一个重复的问题 修剪空格 通常是尾随换行符 正在讨论 但不适合 结果是 HTML 输出为 p strong Code strong p pre class highlight github span class kt
  • 使用 GAS 获取相当于持续时间的数字

    我有一个具有持续时间类型值的单元格 我已将值设置为 00 10 00 即 10 分钟 当我将单元格的格式更改为数字时 它将显示 0 01 如何以编程方式使用应用程序脚本获得与使用应用程序脚本代码相同的十进制等效值 00 10 00 是 0
  • HQL:按可空属性的属性排序

    假设有两个表 A a id b id and B b id c 我需要执行表单的 HQL 查询 From A a ORDER BY a b c while b在类中可以为空A 但是 该查询仅返回以下实例A其中有非空b财产 发生这种情况是因为
  • GC过多时如何更快OOM? [复制]

    这个问题在这里已经有答案了 有时 我的 JVM 会耗尽内存 但我可以从中恢复 或 heapDumpOnOOM 和调试 的 OOMing 它往往会在 GC 中颠簸数小时 然后抛出内存不足 这本质上与 未回答的 问题相同 如何配置 Java G
  • 计算 Laravel 中的坐标距离

    我的模型中有一个创建别名的范围 我需要在其上执行一个 where 我知道 MySql 不允许这样做 标准 SQL 不允许您在 WHERE 中引用列别名 条款 施加此限制是因为当 WHERE 代码为 执行后 列值可能尚未确定 但是 我想知道
  • 创建数组并在一行中将其推入其中

    以下只是一个理论上的 JavaScript 问题 我很好奇以下内容是否可以转换为单个语句 if window foo window foo window foo push bar 这段代码大家可能都写过 但是一行能完成吗 起初我以为这样的事
  • uml 与 RDF 和 OWL 的组合关系

    我是 RDF 和 OWL 本体的初学者 我正在尝试将此图转换为 OWL 语法
  • 带有 Angular 2 和 webpack 2 的单个单独的 CSS 文件?

    我有一个使用 Angular 2 和 Webpack 2 的简单应用程序 使用 sass 作为模板和 angular2 template loader 这样我就可以使用templateUrl and styleUrls而不是使用requir
  • 更改监听输入源

    我想用 AutoHotkey 更改我的显示器输入源 并且我已经部分工作了 但是 当我使用热键将显示器输入源从 pc DVI 更改为我的 xbox YPbYr 时 显示器未检测到 xbox 已打开 它显示没有源 显示器 gt 华硕 VG236