通过 WinAPI 确定 Intel HD 显卡版本

2024-02-13

因此,我尝试通过 WinAPI 函数获取有关显卡的信息,但有一个关于如何获取确切的卡信息的问题。我已经编写了调用 EnumDisplayDevices 的代码,并通过我的调用收到了 DeviceString“Intel(R) HD Graphics Family”。然而,这并没有告诉我确切的卡,例如英特尔高清显卡系列有 4200、4400 等(根据我的理解)。

我进行了更多搜索以寻找找到此信息的方法,甚至查看注册表,它仍然引导我找到“Intel(R) HD Graphics Family”的描述字符串......现在我在这里。非常感谢任何可以帮助我的人,它实际上是一个 stackoverflow 线程,它首先引导我走向 EnumDisplayDevices 的方向:)


我会用OpenGL反而WinAPI为此,因为我不知道是否WinAPI甚至有这样的功能,懒得去研究。是的,您可以搜索注册表项以获取此信息,但由于位置/名称可能发生更改,这在将来并不安全。这OpenGL方法很简单:

  1. create OpenGL渲染上下文
  2. 获取适当的供应商和设备字符串。
  3. release OpenGL渲染上下文

它适用于任何OpenGL强大的显卡/驱动程序支持OpenGL 1.0这是现在所有的卡。

  • see: OpenGL 上下文初始化的 C++ 示例 https://stackoverflow.com/q/19099162/2521214
  • or: 完整的 GL+VAO/VBO+GLSL+shaders C++ 示例 https://stackoverflow.com/a/31913542/2521214

您可以使用OpenGL功能glGetString获取此信息:

GL_VENDOR Returns the company responsible for this OpenGL implementation. This name does not change from release to release.  
GL_RENDERER Returns the name of the renderer. This name is typically specific to a particular configuration of a hardware platform. It does not change from release to release.  
GL_VERSION Returns a version or release number (of supported OpenGL and gfx driver version)
GL_EXTENSIONS Returns a space-separated list of supported extensions to OpenGL (all capabilities of your card)

其余的很简单(使用gl_init,gl_exit来自第二个链接):

gl_init(Your_App_Window_Handle);
char *vendor =(char*)glGetString(GL_VENDOR);
char *device =(char*)glGetString(GL_RENDERER);
char *version=(char*)glGetString(GL_VERSION);
char *ext    =(char*)glGetString(GL_EXTENSIONS);
gl_exit();

我的设置返回:

vendor ="NVIDIA Corporation"
device ="GeForce GTX 550 Ti/PCIe/SSE2"
version="4.5.0 NVIDIA 347.25"
ext    ="GL_AMD_multi_draw_indirect GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float GL_ARB_compatibility GL_ARB_compressed_texture_pixel_storage GL_ARB_conservative_depth GL_ARB_compute_shader GL_ARB_compute_variable_group_size GL_ARB_conditional_render_inverted GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_ES3_1_compatibility GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_indirect_parameters GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_NV_internalformat_sample_query GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counters GL_ARB_shader_bit_encoding GL_ARB_shader_draw_parameters GL

[Notes]

你只需要包括gl.h为此不需要glu,glew或其他任何东西(除了wglext.h应该包含在它自己的内部gl.h)。它通常位于单独的包含子目录中,例如:

#include <gl\gl.h>

[Edit1]

正如英特尔OpenGL实现也没有公开版本我只看到另一种选择。你需要获得PCI ID VID/PID卡的值并与已知值进行交叉检查:

Model               CPU arch.       Release date    PCI ID      Execution units
HD Graphics         Arrandale               2010    8086:0046   6
HD Graphics         Sandy Bridge    January 2011    8086:0106   6
HD Graphics 2000    Sandy Bridge    January 2011    8086:0102   6
HD Graphics 3000    Sandy Bridge    January 2011    8086:0116   16
HD Graphics 2500    Ivy Bridge      April 2012      8086:016A   6
HD Graphics 4000    Ivy Bridge      April 2012      8086:0166   16
HD Graphics 4400    Haswell               2013                  20
HD Graphics 4600    Haswell               2013      8086:0416   20
HD Graphics 5500    Broadwell             2015                  24

取自here http://www.thinkwiki.org/wiki/Intel_HD_Graphics.

为了获得PCI ID你可以使用这个:

  • 我的 setupapi.h C++ 示例 https://stackoverflow.com/a/44236643/2521214

只需将解析字符串更改为TEXT("USB") to TEXT("PCI")并检查VID 8086设备如此:

bool PCIinfo()
    {
    int i,n;
    AnsiString s,txt="";
    DWORD dwSize,dwPropertyRegDataType;
    HDEVINFO hDevInfo;
    SP_DEVINFO_DATA DeviceInfoData;
    TCHAR szDesc[1024];

//  hDevInfo = SetupDiGetClassDevs(NULL, NULL       , NULL, DIGCF_PRESENT|DIGCF_ALLCLASSES);    // List all devices
//  hDevInfo = SetupDiGetClassDevs(NULL, TEXT("USB"), NULL, DIGCF_PRESENT|DIGCF_ALLCLASSES);    // List all connected USB devices
    hDevInfo = SetupDiGetClassDevs(NULL, TEXT("PCI"), NULL, DIGCF_PRESENT|DIGCF_ALLCLASSES);    // List all connected PCI devices

    if (hDevInfo == INVALID_HANDLE_VALUE) return false;
    // Find the ones that are driverless
    for (i=0;;i++)
        {
        DeviceInfoData.cbSize = sizeof(DeviceInfoData);
        if (!SetupDiEnumDeviceInfo(hDevInfo, i, &DeviceInfoData)) break;
        SetupDiGetDeviceRegistryProperty(hDevInfo, &DeviceInfoData, SPDRP_DEVICEDESC,&dwPropertyRegDataType, (BYTE*)szDesc,sizeof(szDesc),&dwSize);
        s=szDesc; n=48; while (s.Length()<n) s+=" "; if (s.Length()>n) s=s.SubString(1,n); txt+=s+" ";
        SetupDiGetDeviceRegistryProperty(hDevInfo, &DeviceInfoData, SPDRP_HARDWAREID,&dwPropertyRegDataType, (BYTE*)szDesc,sizeof(szDesc),&dwSize);
        s=szDesc; n=64; while (s.Length()<n) s+=" "; if (s.Length()>n) s=s.SubString(1,n); txt+=s+" ";
        SetupDiGetDeviceRegistryProperty(hDevInfo, &DeviceInfoData, SPDRP_LOCATION_INFORMATION,&dwPropertyRegDataType, (BYTE*)szDesc,sizeof(szDesc),&dwSize);
        s=szDesc; n=40; while (s.Length()<n) s+=" "; if (s.Length()>n) s=s.SubString(1,n); txt+=s+" ";
        txt+="\r\n";
        }
    Main->mm_log->Lines->Add(txt);
    return true;
    }

该代码在我的设置中返回:

PCI standard host CPU bridge                     PCI\VEN_1022&DEV_1400&SUBSYS_00000000&REV_00                     PCI bus 0, device 24, function 0         
PCI standard host CPU bridge                     PCI\VEN_1022&DEV_1401&SUBSYS_00000000&REV_00                     PCI bus 0, device 24, function 1         
PCI standard host CPU bridge                     PCI\VEN_1022&DEV_1402&SUBSYS_00000000&REV_00                     PCI bus 0, device 24, function 2         
PCI standard host CPU bridge                     PCI\VEN_1022&DEV_1403&SUBSYS_00000000&REV_00                     PCI bus 0, device 24, function 3         
PCI standard host CPU bridge                     PCI\VEN_1022&DEV_1404&SUBSYS_00000000&REV_00                     PCI bus 0, device 24, function 4         
PCI standard host CPU bridge                     PCI\VEN_1022&DEV_1405&SUBSYS_00000000&REV_00                     PCI bus 0, device 24, function 5         
PCI standard host CPU bridge                     PCI\VEN_1022&DEV_1410&SUBSYS_14101022&REV_00                     PCI bus 0, device 0, function 0          
PCI Express standard Root Port                   PCI\VEN_1022&DEV_1412&SUBSYS_12341022&REV_00                     PCI bus 0, device 2, function 0          
PCI Express standard Root Port                   PCI\VEN_1022&DEV_1414&SUBSYS_12341022&REV_00                     PCI bus 0, device 4, function 0          
PCI Express standard Root Port                   PCI\VEN_1022&DEV_1417&SUBSYS_12341022&REV_00                     PCI bus 0, device 7, function 0          
AMD IOMMU Device                                 PCI\VEN_1022&DEV_1419&SUBSYS_14191022&REV_00                     PCI bus 0, device 0, function 2          
AMD SATA Controller                              PCI\VEN_1022&DEV_7801&SUBSYS_B0021458&REV_40                     PCI bus 0, device 17, function 0         
Standard OpenHCD USB Host Controller             PCI\VEN_1022&DEV_7807&SUBSYS_50041458&REV_11                     PCI bus 0, device 18, function 0         
Standard OpenHCD USB Host Controller             PCI\VEN_1022&DEV_7807&SUBSYS_50041458&REV_11                     PCI bus 0, device 19, function 0         
Standard Enhanced PCI to USB Host Controller     PCI\VEN_1022&DEV_7808&SUBSYS_50041458&REV_11                     PCI bus 0, device 18, function 2         
Standard Enhanced PCI to USB Host Controller     PCI\VEN_1022&DEV_7808&SUBSYS_50041458&REV_11                     PCI bus 0, device 19, function 2         
Standard OpenHCD USB Host Controller             PCI\VEN_1022&DEV_7809&SUBSYS_50041458&REV_11                     PCI bus 0, device 20, function 5         
AMD SMBus                                        PCI\VEN_1022&DEV_780B&SUBSYS_780B1022&REV_14                     PCI bus 0, device 20, function 0         
High Definition Audio Controller                 PCI\VEN_1022&DEV_780D&SUBSYS_A0021458&REV_01                     PCI bus 0, device 20, function 2         
PCI standard ISA bridge                          PCI\VEN_1022&DEV_780E&SUBSYS_780E1022&REV_11                     PCI bus 0, device 20, function 3         
PCI standard PCI-to-PCI bridge                   PCI\VEN_1022&DEV_780F&SUBSYS_00000000&REV_40                     PCI bus 0, device 20, function 4         
AMD USB 3.0 Host Controller                      PCI\VEN_1022&DEV_7812&SUBSYS_50041458&REV_03                     PCI bus 0, device 16, function 0         
AMD USB 3.0 Host Controller                      PCI\VEN_1022&DEV_7812&SUBSYS_50041458&REV_03                     PCI bus 0, device 16, function 1         
High Definition Audio Controller                 PCI\VEN_10DE&DEV_0BEE&SUBSYS_35371458&REV_A1                     PCI bus 1, device 0, function 1          
NVIDIA GeForce GTX 550 Ti                        PCI\VEN_10DE&DEV_1244&SUBSYS_35371458&REV_A1                     PCI bus 1, device 0, function 0          
Realtek PCIe GBE Family Controller               PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_06                     PCI bus 2, device 0, function 0          
MSI TV@Anywhere Plus                             PCI\VEN_1131&DEV_7133&SUBSYS_62311462&REV_D1                     PCI bus 4, device 6, function 0          
Etron USB 3.0 Extensible Host Controller         PCI\VEN_1B6F&DEV_7023&SUBSYS_50071458&REV_01                     PCI bus 3, device 0, function 0          

所以在不同的 IntelHD 显卡计算机上运行它并检查是否存在不同的 PCI ID ...

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

通过 WinAPI 确定 Intel HD 显卡版本 的相关文章

  • 如何以编程方式找出哪台计算机是 Windows 中的域控制器?

    我正在寻找一种方法来确定客户端计算机连接到的给定域的域控制器的名称 IP 地址 在我们公司 我们有很多用于测试的小型网络 其中大多数都有自己的小域 作为示例 其中一个域被命名为 TESTLAB 我有一个 Windows XP 工作站 它是
  • WINAPI/DWMAPI 不规则形状的模糊窗口

    注意 这不是关于无边框窗口的问题 因此 前几天我在 Windows 7 上浏览 开始 菜单时偶然发现了这个程序 它是一个本机 Windows 程序 称为 数学输入面板 现在 我对窗户的形状很好奇 我知道它并不是完全由 DWM 绘制的 因为边
  • Windows:列出并启动与扩展关联的应用程序

    如何确定与特定扩展名 例如 JPG 关联的应用程序 然后确定该应用程序的可执行文件所在的位置 以便可以通过调用 System Diagnostics Process Start 来启动它 我已经知道如何读取和写入注册表 注册表的布局使得以标
  • 操作系统什么时候清除进程的内存

    进程在某些操作系统上成功或异常终止 操作系统何时决定擦除分配给该进程的内存 数据 代码等 在退出时或当它想为新进程分配内存时 这个清除内存分配过程在所有操作系统 winXP Win7 linux Mac 上都相同吗 据我了解 页表具有该进程
  • 抑制“程序无法启动,因为 X.dll 丢失”错误弹出窗口

    我有一个Python程序 它使用os system来执行各种命令 它不能使用subprocess因为它必须向后兼容到 Python 2 0 在 Windows 上 有时该命令会引用异常目录中的 DLL 因此我会收到臭名昭著的 程序无法启动
  • 怎样才能使 Windows 成为一个开箱即用的 POSIX 兼容操作系统?

    这个问题的动机是我的一个牵强的梦想 即 nix 平台上可用的许多优秀软件可以轻松移植到 Windows 微软最近对开源和开放性采取了不同的方法 所以我真的很想知道如果微软有这样的倾向 这样的事情会有多可行 我很好奇的一些更具体的事情是 是否
  • 在 Windows 上使用 docker compose 进行卷绑定

    我最近在 Windows 10 上升级了 Docker Toolbox 现在我的卷挂载不再起作用 我已经尝试了一切 这是当前的挂载路径 volumes C Users Joey Desktop backend var www html 我收
  • Win32 自定义绘制树视图控件

    我正在尝试使用 NM CUSTOMDRAW 消息自定义树视图控件 我只是想用灰色绘制所有其他可见的项目 这是绘制的代码 INT CResourceOutliner On WM NOTIFY HWND hDlg WPARAM wParam L
  • 用于在 Windows 中自动执行桌面活动的 Python 代码

    我想使用 Python 在 Windows 环境中自动化桌面活动 怎样才能做到呢 一些例子也会有帮助 我所说的桌面活动是指控制鼠标和键盘 访问活动窗口属性 双击桌面上的图标 最小化和最大化窗口 通过键盘向输入弹出窗口输入数据等操作 看一下S
  • 在远程桌面上使用 Powershell 获取 Windows DisplayLanguage

    我正在尝试通过 powershell 获取 Windows 显示语言设置远程计算机 我尝试了 Get WinUserLanguageList 但这会返回所有语言的列表 Get WinSystemLocale 和 Get Culture 也不
  • 批量设置命令的输出和错误以分隔变量

    在Windows 7批处理 cmd exe命令行 中 我试图将命令的标准输出 stdout 和标准错误 stderr 重定向到单独的变量 因此第一个变量设置为输出 第二个变量设置为输出 变量设置为错误 如果有 而不使用任何临时文件 我已经尝
  • 如何检测Windows版本是否合法? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我对获取版本信息不感兴趣 我想做的就是确保我的应用程序只能在合法版本的 Windows 上运行 而不是在盗版版本上运行 Windows 使
  • Windows 上的 Node.js 和 Express

    今晚 我决定尝试在我的 Windows 7 计算机上使用 Express 构建一个简单的 Node js 应用程序 安装过程还算顺利 但 Express 拒绝配合 以下是我已采取的步骤 使用以下位置提供的 MSI 安装 Node jshtt
  • 每个进程每个线程的时间量

    我有一个关于 Windows 和 Linux 中进程和线程的时间量子的问题 我知道操作系统通常为每个线程提供固定的时间量 我知道时间量根据前台或后台线程而变化 也可能根据进程的优先级而变化 每个进程有固定的时间量吗 例如 如果操作系统为每个
  • Windows平台下C语言控制串口DTR和RTS引脚

    如何在windows平台上控制串口的DTR和RTS引脚 我希望通过升高或降低电压来对其进行位敲击或操作 您需要使用EscapeComm 函数 https learn microsoft com en us windows desktop a
  • 如何使用双重调度来分析图形基元的交集?

    我正在分析图形基元 矩形 直线 圆形等 的交互并计算重叠 相对方向 合并等 这被引用为双重调度的一个主要示例 例如维基百科 http en wikipedia org wiki Double dispatch 自适应碰撞算法通常要求 不同的
  • 初始化 LPCTSTR /LPCWSTR [重复]

    这个问题在这里已经有答案了 我很难理解并使其正常工作 基本上归结为我无法成功初始化这种类型的变量 它需要有说的内容7 2E25DC9D 0 USB003 有人可以解释 展示这种类型的正确初始化和类似的值吗 我已查看此站点上的所有帮助 将项目
  • 创建具有特定权限的线程C++

    我有一个多线程应用程序 我想创建一个具有不同用户权限的线程 例如 多域管理员权限 但我找不到任何 Win32 APICreateThread要做到这一点 如何创建具有特定用户权限的线程 thanks 调用 CreateThread CREA
  • fprintf() 线程安全吗?

    我正在为野人就餐问题的某些变量编写一个 C 解决方案 现在 我创建线程 每个线程都将 FILE 获取到同一个调试文件 在线程内我正在使用 fprintf 进行一些打印 打印的语句不受任何类型的互斥锁等保护 我没有在调试文件中观察到任何交错行
  • Pip 无法在 Windows 上安装 Twisted

    我正在尝试在 Windows 8 计算机上安装 Twisted 在 Twisted 官方网站上 只有一个 Windows 版的 Wheel 文件 https twistedmatrix com trac wiki Downloads htt

随机推荐

  • C# Databound ComboBox 自动更新

    我有一个绑定到数据库表的组合框 当用户将新数据插入表中时 我希望组合框自动更新以显示该数据 但是我不确定如何执行此操作 帮助将不胜感激 我的一个程序中有类似的东西 每当我的 datagridview 更新时 我都会清空组合框并重新填充它 大
  • 如何在另一个查询的 while 循环内运行 SQL 查询

    当 photoId 直接位于语句上而不是变量时 以下操作完全没有问题 img query mysqli query con SELECT FROM imgs WHERE photoid 103 or die mysqli error con
  • 模拟器打开时读取私人有效用户设置警告

    当我点击 textField 在 Xcode 中打开模拟器键盘时 会出现以下错误 2017 01 01 17 19 38 668544 FirebaseChat 12334 2921090 MC System group container
  • 信号处理程序返回到哪里?

    假设当接收并处理信号时 进程正在 main 方法中运行 当信号处理程序完成时 进程是否返回到 main 中接收信号的行 或者返回到信号调用 附 我知道我自己可以快速测试这一点 但当我无法访问我的电脑时 我就想到了这个想法 Thanks 当信
  • 在 Windows 7 上安装 Apache Solr 4.1 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我怎么能够安装apache solr
  • 与曼哈顿距离的距离变换 - Python / NumPy / SciPy

    我想使用 Python 和 Numpy 生成这样的二维数组 0 1 2 3 4 4 3 4 1 2 3 4 4 3 2 3 2 3 4 4 3 2 1 2 3 4 4 3 2 1 0 1 4 5 5 4 3 2 1 2 几乎数字从零开始左右
  • 何时使用关联实体?

    假设有两个实体 分别称为 Employee 和 Campaign 一名员工可以参与多项活动 一项活动可以有多名员工 我已经知道这是多对多的关系 在绘制 ER 图 Chen 表示法 时 这种关系用菱形来表示 但关联实体有一个单独的符号 它象征
  • CSS3 calc 函数:mod 运算符的问题

    我在用着 宽度 计算 100 mod 320 但它总是返回父元素的完整宽度 语法似乎没有任何问题 看起来像是一个支持问题 在 chrome 37 和 firefox 32 0 上测试 这里有一个fiddle http jsfiddle ne
  • CakePHP 2.1 使用包含条件进行查找

    我有以下型号 行业 ID 名称 Movie id name Industry id 行业有很多电影 Trailer id name movie id 电影有很多预告片 我需要为每个找到 6 个最新预告片Industry 每部电影不需要有预告
  • 类型错误:float() 参数必须是字符串或数字,而不是“函数” – Python/Sklearn

    我有一个名为 Flights py 的程序的以下代码片段 Load the Dataset df dataset df isnull any df df fillna lambda x x median Define X and Y X d
  • MySql查询时间间隔数据的直方图

    我有一个这种类型的事件输入 event user event start event end event type 插入到 MySql 表中 每个表都在自己的行中 以 user start 作为主键 我需要按时间间隔 例如分钟 查询类型的直
  • 如何调试Android的NFC实现?

    这个问题可以分解成多个更小的问题 最终结果是能够使用 gdb 等调试器在 Galaxy Nexus Android 4 1 设备的 C C NFC 实现中设置断点 以检查其内部状态 是否可以将 Galaxy Nexus 设备上的库替换为包含
  • Jenkins Windows Slave 忽略本地 Git 设置

    我已经将 Windows Jenkins 从机设置为 Unix Jenkins 主机 我正在运行 Windows 8 1 msysgit 1 9 5 和 Jenkins 1 616 当检查路径 文件名超过 255 个字符的存储库时 我收到
  • 如何使用 C# 将浏览文件按钮添加到 Windows 窗体

    我想在单击 浏览 按钮时选择本地硬盘上的文件 我不知道如何使用OpenFileDialog控制 谁能帮我 这些链接通过示例进行了解释 http dotnetperls com openfiledialog http dotnetperls
  • 无法加载资源:net::ERR_CERT_AUTHORITY_INVALID

    我正在通过 https 实现 Node js 脚本 Node js const options key fs readFileSync private key cert fs readFileSync cert crt This is ne
  • 使用 CSS/HTML 更改悬停时的图像

    我遇到这个问题 我已设置一个图像以在鼠标悬停时显示另一个图像 但是第一个图像仍然出现 并且新图像不会更改高度和宽度并与另一个图像重叠 我对 HTML CSS 还很陌生 所以我可能错过了一些简单的东西 这是代码 img src Library
  • VB.Net 将值传递给另一种形式

    我想知道如何将值从 form1 传递到另一个表单的公共子 问题是它说 在这种情况下无法访问 因为它是 私人 我尝试将 Form 1 Private Sub 更改为 Public Sub 但仍然存在相同的错误 我应该如何让它发挥作用 Publ
  • 如何使用 angular-cli (6.x) 创建 mono-repo 项目结构

    我想使用 angular cli 生成一个新的工作区 目前执行此操作的唯一方法是运行 ng new asdf cd asdf ng g application whatever 但随后所有的src 文件仍然存在 以及现在存储不一致的项目的原
  • JPA @Entity继承

    我一直在研究 JPA Hibernate Entity继承有一段时间了 似乎找不到任何可以解决我想要实现的目标的东西 基本上我希望能够定义一个 Entity根据需要包含所有列和表映射 然后我希望能够延长 Entity在许多不同的地点 有不同
  • 通过 WinAPI 确定 Intel HD 显卡版本

    因此 我尝试通过 WinAPI 函数获取有关显卡的信息 但有一个关于如何获取确切的卡信息的问题 我已经编写了调用 EnumDisplayDevices 的代码 并通过我的调用收到了 DeviceString Intel R HD Graph