精易论坛

标题: 怎么把易语言写的程序?自动设置成系统设置中的默认应用 [打印本页]

作者: qq1056123185    时间: 2023-7-19 13:44
标题: 怎么把易语言写的程序?自动设置成系统设置中的默认应用
如下图,是“系统设置中的默认应用”界面,
例如:我用易语言写了一个mp3播放器,在打开这个播放器的时候,播放器就自动设置成“系统默认的音乐播放器”,
      然后我在系统中打开.mp3文件的时候,就默认用我写的这个播放器进行播放。
      有经验的大佬求给个思路,最好有个例子学习一下~


作者: 熬夜    时间: 2023-7-19 13:59
  
子程序名返回值类型公开备 注
写默认程序逻辑型 写默认程序,win10可用
参数名类 型参考可空数组备 注
程序名称文本型用来显示的,自己编一个
关联项文本型后缀如.html,自行填充数组
关联项备注文本型上一项的备注,成员数与上一个相同
程序路径文本型设置启动的程序路径
标注名文本型
协议文本型如Media(默认视频播放器)
系统协议文本型如http,https,sms…
图标路径文本型ico图标
是否刷新逻辑型真确定刷新
文件备注文本型自填
关联名文本型自填
变量名类 型静态数组备 注
n整数型 
n1整数型 
项目路径整数型 
a文本型 
' 不直接使用变量是为了让大家看得更清晰
程序名 = 程序名称
项目路径 = “SOFTWARE\Clients\” + 协议 + 程序名 + “\Capabilities”
写注册项 ( #现行用户, “SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\” + 程序名 + “\DisplayName”, 标注名)
写注册项 ( #现行用户, “SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\” + 程序名 + “\DisplayIcon”, 标注名)
写注册项 ( #本地机器, “SOFTWARE\Clients\” + 协议 + 程序名 + “\”, 标注名)
写注册项 ( #本地机器, “SOFTWARE\Clients\” + 协议 + 程序名 + “\Capabilities\ApplicationIcon”, 图标路径)
写注册项 ( #本地机器, “SOFTWARE\Clients\” + 协议 + 程序名 + “\Capabilities\ApplicationDescription”, 标注名)
写注册项 ( #本地机器, “SOFTWARE\Clients\” + 协议 + 程序名 + “\Capabilities\ApplicationName”, 标注名)
写注册项 ( #本地机器, “SOFTWARE\Clients\” + 协议 + 程序名 + “\Capabilities\Startmenu\StartMenuInternet”, 标注名)
' 注册
计次循环首 (取数组成员数 (系统协议), n)
写注册项 ( #本地机器, “SOFTWARE\Clients\” + 协议 + 程序名 + “\Capabilities\URLAssociations\” + 系统协议 [n], 标注名)
计次循环尾 ()
计次循环首 (取数组成员数 (关联项), n1)
写注册项 ( #本地机器, “SOFTWARE\Clients\Media\壁纸\Capabilities\FileAssociations\” + 关联项 [n1], 关联项备注 [n1])
a = a + “|” + 关联项 [n1]
计次循环尾 ()
写注册项 ( #本地机器, “SOFTWARE\Clients\” + 协议 + 程序名 + “\DefaultIcon\”, 程序路径)
写注册项 ( #本地机器, “SOFTWARE\Clients\” + 协议 + 程序名 + “\InstallInfo\ShowIconsCommand”, 图标路径 + “ --show-icons”)
写注册项 ( #本地机器, “SOFTWARE\Clients\” + 协议 + 程序名 + “\InstallInfo\ReinstallCommand”, 程序路径 + “ --make-default-media”)
写注册项 ( #本地机器, “SOFTWARE\Clients\” + 协议 + 程序名 + “\InstallInfo\HideIconsCommand”, 图标路径 + “ --hide-icons”)
写注册项 ( #本地机器, “SOFTWARE\Clients\” + 协议 + 程序名 + “\InstallInfo\IconsVisible”, 1)
写注册项 ( #本地机器, “SOFTWARE\Clients\” + 协议 + 程序名 + “\shell\open\command\”, 程序路径)
写注册项 ( #本地机器, “SOFTWARE\” + 程序名 + “\”, 标注名)
写注册项 ( #本地机器, “SOFTWARE\RegisteredApplications\” + 程序名, 项目路径)
win_associated (程序路径, a, 图标路径, 文件备注, 关联名) ' 可以用精易模块的关联代替
SHChangeNotify (134217728, 0, 0, 0) ' 系统刷新函数


来源https://125.confly.eu.org/forum.php?mod=viewthread&tid=14713702

作者: qq1056123185    时间: 2023-8-7 10:51
熬夜 发表于 2023-7-19 13:59
[e=0].版本 2

.子程序 写默认程序, 逻辑型, 公开, 写默认程序,win10可用

大佬你好,请教一个问题:
就跟原帖子中的图片一样,把一个程序设置成两种默认应用,
具体怎么区分打开的文件是“视频播放器”还是“Web浏览器”?
能详细解答一下吗?非常感谢!

作者: 熬夜    时间: 2023-8-7 13:18
qq1056123185 发表于 2023-8-7 10:51
大佬你好,请教一个问题:
就跟原帖子中的图片一样,把一个程序设置成两种默认应用,
具体怎么区分打开的 ...

https://125.confly.eu.org/forum.php?mod=viewthread&tid=131091
作者: qq1056123185    时间: 2023-11-2 08:47
已采用此贴中的模块完美解决,达到预期效果:↓↓↓
文件关联 v2.0版【源码】+海易记事本2.0
https://125.confly.eu.org/forum.php?mod=viewthread&tid=14799910
(出处: 精易论坛)

作者: Xiaomi525    时间: 2024-10-19 15:48
熬夜 发表于 2023-7-19 13:59
[e=0].版本 2

.子程序 写默认程序, 逻辑型, 公开, 写默认程序,win10可用

我这个代码有问题,改成:写注册项 ( #本地机器, “SOFTWARE\Clients\"+协议名+"\"+程序名+"\Capabilities\FileAssociations\” + 关联项 [n1], 关联项备注 [n1])
作者: Xiaomi525    时间: 2024-10-19 15:56
qq1056123185 发表于 2023-8-7 10:51
大佬你好,请教一个问题:
就跟原帖子中的图片一样,把一个程序设置成两种默认应用,
具体怎么区分打开的 ...

我的播放器代码不是这个,这个写的有问题
作者: Xiaomi525    时间: 2024-10-19 15:57
熬夜 发表于 2023-7-19 13:59
[e=0].版本 2

.子程序 写默认程序, 逻辑型, 公开, 写默认程序,win10可用

我的播放器代码不是这个,这个写的有问题




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4