最近测试反馈Win10设置我们的应用不正常,经google查询,由于Win10设置了hash校验设置的ProgId值,如果hash正确才能正常启动,所以我们必须得调用Win8/Win10 Api去正确设置。

举例:

#include <ShObjIdl.h>bool SetDefaultClient(wchar_t* pClientName)
{IApplicationAssociationRegistration* pARR;HRESULT hr = CoCreateInstance(CLSID_ApplicationAssociationRegistration, NULL, CLSCTX_INPROC, __uuidof(IApplicationAssociationRegistration), (void**)&pARR);if (SUCCEEDED(rv)){BOOL bIsDefaultClient = FALSE;hr = pAAR->QueryAppIsDefault(L"http", AT_URLPROTOCOL, AL_EFFECTIVE, pClientName, &bIsDefaultClient);if (FAILED(hr) || bIsDefaultClient == FALSE){hr = pAAR->SetAppAsDefault(pClientName, L"http", AT_URLPROTOCOL);}pAAR->Release();}return SUCCEEDED(hr);
}

要注意的是,若API返回成功,在默认程序中不一定看到是你设置的App,因为写的注册表不一定为CURRENTUSER,但是功能是正常的。

参考:如何绕过Win8、Win10的systemsetting与注册表校验设置默认浏览器

【C++】Win10设置默认程序相关推荐

  1. win10.java默认程序_Win10把IE修改为默认浏览器的两种方法

    IE浏览器一直是Windows系统的默认浏览器,似乎从使用微软开始,就已经是这样了.但是在最新的Win10系统中,IE已经不是Win10的默认浏览器了.那么怎么把IE修改为Win10默认浏览器?本文就 ...

  2. win10设置默认打开方式

    layout: post title: win10设置默认打开方式 date: 2018-12-29 9:10:50 group: tags: win10设置默认打开方式 我们有的软件只显示了一个文件 ...

  3. 程序代码初学者_初学者极客:在Windows 7和Vista中设置默认程序

    程序代码初学者 If you've ever installed a program and suddenly found certain file types opening with it ins ...

  4. win10设置默认输入法_个性化设置技巧

    个性化设置技巧 子墨居士前言本次内容主要是win10系统自带的功能,不是用第三方软件优化桌面的情况下,让自己的电脑桌面能更美观.更舒服.系统自身的个性化设置主要是下图中的几个.鼠标右击->个性化 ...

  5. 解决win7设置默认程序打开方式失效

    问题描述 我在设置一个文件(.ui)的默认程序打开,总是失效.设置不成功. 原因 正常这个程序应该用 designer.exe 打开,但是我之前设置过(.ui)默认程序打开程序为designer.ex ...

  6. android设置默认程序和清除默认设置

    以设置和清除默认浏览器为例. 1.检查是否已经设置了默认 [java]  view plain copy private void testGetDefaultActivity() { Package ...

  7. android设置默认程序清除默认设置

    以设置和清除默认浏览器为例. 1.检查是否已经设置了默认 private void testGetDefaultActivity() {PackageManager pm = getPackageMa ...

  8. win10设置默认输入法,无法保存

    新装 win10 系统,设置默认输入法,重启后不是原来的模型,可通过以下步骤设置. setp: 1 setp: 2 setp: 3 setp: 4 转载于:https://www.cnblogs.co ...

  9. win10设置Python程序定时运行(设置计划任务)

    楼主最近写了一个简单的Python程序,想让这个小程序每天上午8点定时运行一次,因为我的电脑是Windows系统,无法使用Linux下强大的crontab命令,所以我只好求助于度娘.我搜到了好几个相关 ...

最新文章

  1. 查看Linux内核版本的命令
  2. 什么是O/RMapping?为什么要用O/R Mapping?
  3. boost::graph模块实现双连通分量算法的测试程序
  4. go 调用其他文件函数_一文读懂Go中软件包概念
  5. oldboy_09_03day
  6. android defStyleAttr/defStyleRes
  7. Delphi-如何声明一个结构
  8. linux tar zcfp 打包,tar命令_Study-Everyday的技术博客_51CTO博客
  9. POJ1050-To the Max
  10. python列表输出字符串,如何在python中输出utf-8字符串列表?
  11. 苹果电脑如何读写ntfs格式磁盘
  12. verilog 中if....else语句以及case语句详细理解
  13. 141.3. 单机安装 CentOS 5 + hadoop-0.20.0
  14. matlab给图片滤波,matlab每日学习 图片滤波
  15. HDU2544:最短路(Dijkstra)
  16. java里什么是索引_面试官:什么是索引?
  17. 数据库查询的降序排列
  18. 8.3 案例实现(加载数据库sakila中的数据至数据仓库sakila_dw)
  19. java斗地主发牌_实现斗地主发牌(java)
  20. linux设置定时关机及取消

热门文章

  1. Matplot X轴,Y轴最大值限定(固定X轴、Y轴的范围)
  2. 关于科技趋势和未来机会,这8本书告诉你答案
  3. python用双重循环输出菱形_Python 使用双重循环打印图形菱形操作
  4. 【外挂逆向】《某涯明月刀》BUFF及技能预判
  5. lol服务器维护2021,lol维护公告最新时间2021.5.27 lol维护到几点
  6. ipcalc命令 – 简单的IP地址计算器
  7. 一个对付小孩便秘的指南,让麻麻不再当催屎员
  8. “裸辞” 备战15天三面美团,交叉面却被吊起来锤
  9. ISCC2021 wp
  10. 一切恍如昨日,却又截然不同...