小编Bil*_*ton的帖子

在Windows XP中获取GPU连接类型?

我需要在代码(C++)中检测显卡是如何连接到显示器的,即vga或dvi等.

我找到了两种可以做到这一点的方法:

但这些仅在Windows Vista或更高版本中受支持.

肯定有一种方法可以在XP中实现这一点,但经过多次搜索我找不到一个,而且我找到了一种方法变得非常紧迫.

有任何想法吗?

c++ windows gpu

6
推荐指数
1
解决办法
490
查看次数

使用 EnumDisplayDevices 获取显示器的名称

我看到这篇文章,其中有人想使用 EnumDisplayDevices 找出他们的显示器的名称。

这正是我想要的,我尝试在 C++ 中做类似的事情,但第二次调用 EnumDisplayDevices 似乎永远不会返回任何内容,我只获取有关显卡的信息。

DISPLAY_DEVICE dd;
memset(&dd, 0, sizeof(DISPLAY_DEVICE));
dd.cb = sizeof(dd);
int i = 0;
while(EnumDisplayDevices(NULL, i, &dd, 0))
{
    Log(_T("Device Name: %s Device String: %s"), dd.DeviceName, dd.DeviceString);

    if(EnumDisplayDevices(dd.DeviceName, 0, &dd, 0))
    {
        Log(_T("Monitor Name: %s Monitor String: %s"), dd.DeviceName, dd.DeviceString);
    }

    i++;
} 
Run Code Online (Sandbox Code Playgroud)

我得到的输出是

Device Name: \\.\DISPLAY1 Device String: NVIDIA GeForce 9300 GE
Device Name: \\.\DISPLAYV1 Device String: NetMeeting driver
Device Name: \\.\DISPLAYV2 Device String: RDPDD Chained DD
Run Code Online (Sandbox Code Playgroud)

目标平台是XP,我无法通过任何标准方法找到显示器名称。有任何想法吗?

谢谢。

c++ windows

4
推荐指数
1
解决办法
1万
查看次数

获取在C++中创建/修改注册表项的日期

我似乎无法找到这样做的方法,但我觉得奇怪的是注册表密钥在创建时根本不会给出时间戳.有谁知道一种方式?目标平台是XP 32位.

谢谢.

c++ windows registry

3
推荐指数
1
解决办法
5132
查看次数

是否可以将 LPWSTR 从 C++ DLL 返回到 C# 应用程序

C++函数定义是这样的

__declspec(dllexport) LPWSTR __stdcall GetErrorString(int errCode);
Run Code Online (Sandbox Code Playgroud)

我在 C# 中这样称呼它

 [DllImport("DLLTest.dll")]
 public static extern string GetErrorString(int errCode);

 static void Main(string[] args)
{
    string result = GetErrorString(5);
}
Run Code Online (Sandbox Code Playgroud)

我收到 System.Runtime.InteropServices.SEHException 类型的未处理异常

我什至不确定 C++ DLL 是否可以尝试将 LPWSTR 返回到 C#...

谢谢。

c# dll interop

2
推荐指数
1
解决办法
3120
查看次数

标签 统计

c++ ×3

windows ×3

c# ×1

dll ×1

gpu ×1

interop ×1

registry ×1