#include <Windows.h>
#include <Icm.h>
#include <iostream>
#include <string> #pragma comment(lib,"Mscms.lib")
#define MAX_PATH 1024
BOOL flag = 0;
int main()
{
WCHAR* szDisplayDeviceName = NULL;
WCHAR szPath[MAX_PATH];
memset(szPath, 0, 1024);
DISPLAY_DEVICE dd;
dd.cb = sizeof(dd); if (flag = EnumDisplayDevices(L"\\\\.\\DISPLAY1", 0, &dd, EDD_GET_DEVICE_INTERFACE_NAME))
{
if (flag = WcsGetDefaultColorProfile(WCS_PROFILE_MANAGEMENT_SCOPE_CURRENT_USER,
dd.DeviceKey,
CPT_ICC,
CPST_PERCEPTUAL,
0, // dwProfileID -- doesn't seem to matter what value you use here
MAX_PATH * sizeof(WCHAR),
szPath))
{
PROFILE profile;
profile.cbDataSize = (DWORD)(wcslen(szPath) + 1) * sizeof(WCHAR);
profile.dwType = PROFILE_FILENAME;
profile.pProfileData = (PVOID)szPath; HPROFILE hProfile = OpenColorProfile(&profile,
PROFILE_READ, FILE_SHARE_READ, OPEN_EXISTING); // now do something with the profile }
} LPWSTR buffer;
ENUMTYPEW pe = { 0 };
pe.dwSize = sizeof(pe);
pe.dwVersion = ENUM_TYPE_VERSION;
pe.dwFields = ET_DEVICENAME;
pe.dwDeviceClass = CLASS_MONITOR;
pe.pDeviceName = dd.DeviceKey;
DWORD p = 0;
DWORD size = 0;
BOOL ret = EnumColorProfilesW(NULL, &pe, NULL, &size, &p);
buffer = (LPWSTR)malloc(size);
ret = EnumColorProfilesW(NULL, &pe, (BYTE*)buffer, &size, &p);
LPWSTR temp = buffer;
for (int i = 0; i < p; i++)
{
wprintf(L"%s\n", temp);
printf("without null character: %zu\n", wcslen(temp));
temp += wcslen(temp) + 1;
} flag = WcsSetDefaultColorProfile(WCS_PROFILE_MANAGEMENT_SCOPE_CURRENT_USER,
dd.DeviceKey,
CPT_ICC,
CPST_PERCEPTUAL,
0, // dwProfileID -- doesn't seem to matter what value you use here
buffer); free(buffer);
return 1;
}

这是列举出本机上的所有icm配置文件

相关链接: https://github.com/AcademySoftwareFoundation/OpenColorIO/blob/master/vendor/aftereffects/win/OpenColorIO_AE_Dialogs_Win.cpp#L348

随机推荐

  1. [转帖]002、体系结构之TiDB Server

    TiDB Server 1.TiDB总览 1.1.TiDB Server架构 1.2.TiDB Server 主要功能: 2.SQL语句处理 语句的解析和编译 SQL层 协议层 上下文 解析层 逻辑优 ...

  2. [转帖]Kubernetes部署Minio集群存储的选择,使用DirectPV CSI作为分布式存储的最佳实践

    Kubernetes部署Minio集群存储的选择,使用DirectPV CSI作为分布式存储的最佳实践 个人理解浅谈 1. 关于在kubernetes上部署分布式存储服务,K8s存储的选择 非云环境部 ...

  3. [转帖]CENTOS6.5 没有/LIB64/LIBFUSE.SO.2的问题

    yum install fuse-libs

  4. [转帖]ethtool 命令介绍

    https://www.jianshu.com/p/f456e73a0437 name ethtool - query or control network driver and hardware s ...

  5. 关于JVM指针压缩性能的研究

    关于JVM指针压缩性能的研究 摘要 JVM的内存对消最小是 8bytes 所以32G内存的情况下可以使用 32位的指针就可以了. 32位就是4G 在乘以最小的内存extent 8 bytes 的出来可 ...

  6. [转帖]SPEC2006移入docker后的运行问题

    https://www.cnblogs.com/csxyc/p/7157890.html 实验需要给SPEC2006的benchmark绑定CPUID,于是想到用docker分配CPU资源,写一个简单 ...

  7. [转帖]基于腾讯云微服务引擎(TSE) ,轻松实现云上全链路灰度发布

    https://my.oschina.net/u/4587289/blog/8570699 1.  概述 软件开发过程中,应用发布非常频繁,通常情况下,开发或运维人员会将系统里所有服务同时上线,使得所 ...

  8. rfc7230 Message Syntax and Routing

    rfc7230 目录 rfc7230 2 Architecture 2.6 Protocol Versioning 3 Message Format 3.1 Start Line 3.1.1 Requ ...

  9. 日志框架简介-Slf4j+Logback入门实践 | 京东云技术团队

    前言 随着互联网和大数据的迅猛发展,分布式日志系统和日志分析系统已广泛应用,几乎所有应用程序都使用各种日志框架记录程序运行信息.因此,作为工程师,了解主流的日志记录框架非常重要.虽然应用程序的运行结果 ...

  10. windwos使用FRP方式

    FRP使用方法 流程图如下 建议查看流程图哦 访问FRP官方项目 https://freefrp.net 下面是windwos演示 进入网站选择客户端下载 客户端版本选择 windwos是adm64 ...