windows 自定义scheme协议。
浏览器打开自定义scheme参考上一篇:Chromium 自定义scheme协议启动过程分析c++
1、注册表里面按照如下格式填写自定义scheme协议导入:
Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\jdtest]
@="URL:jdtest Protocol"
"URL Protocol"=""[HKEY_CLASSES_ROOT\jdtest\DefaultIcon]
@="D:\\Program Files (x86)\\Test\\jdtest.exe"[HKEY_CLASSES_ROOT\Test\shell][HKEY_CLASSES_ROOT\Test\shell\open][HKEY_CLASSES_ROOT\jdtest\shell\open\command]
@="\"D:\\Program Files (x86)\\Test\\jdtest.exe\" \"%1\""
2、jdtest.exe代码
#include <iostream>int main(int arg, const char *args[])
{std::cout << "param:" << args[1];std::cout << "\nHello World!\n";system("pause");
}
3、运行jdtest协议测试程序代码【jdtest02.exe】:
#include <iostream>
#include <stdlib.h>
#include <tchar.h>
#include <string>
#include <windows.h>
#include <KnownFolders.h>
#include <shlobj.h>void runjdtest() {std::string escaped_url = "jdtest://jdtest.com:8080/dl/news/open?data=902323¶ms=test";escaped_url.insert(0, "\"");escaped_url += "\"";const size_t kMaxUrlLength = 2048;if (escaped_url.length() > kMaxUrlLength)return;char system_buffer[MAX_PATH];system_buffer[0] = 0;::GetSystemDirectoryA(system_buffer, MAX_PATH);std::string sys_path(system_buffer);if (reinterpret_cast<ULONG_PTR>(ShellExecuteA(NULL, "open", escaped_url.c_str(), NULL,sys_path.c_str(), SW_SHOWNORMAL)) <= 32) {return;}
}int main()
{runjdtest();std::cout << "run jdtest \n";
}
4、运行jdtest02.exe看下效果:


相关文章:
windows 自定义scheme协议。
浏览器打开自定义scheme参考上一篇:Chromium 自定义scheme协议启动过程分析c 1、注册表里面按照如下格式填写自定义scheme协议导入: Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\jdtest] "URL:jdtest Protocol" "URL Proto…...
什么是SQLite?
一、什么是SQLite? SQLite是一个进程内的软件库,实现了自给自足的、无服务器的、零配置的、事务性的SQL数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。 就像其它数据库,SQLite引擎不是…...
域1:安全与风险管理 第2章-人员安全与风险管理
第二章的内容确实较为丰富,需要细心且耐心地逐步消化和理解。不妨放慢阅读速度,对每个要点都进行深入思考,确保自己真正掌握了其核心意义。这样,虽然可能花费更多时间,但能够更扎实地掌握第二章的知识,为后…...
php中的错误和异常捕获
目录 一: 异常(Exceptions) 二: 错误(Errors) 三:实际项目的异常和错误处理 在PHP中,异常(Exceptions)和错误(Errors)是两个不同的…...
nextjs项目中,使用postgres的完整案例
目的 通过此案例,可以简单快速的过一下数据库的操作,熟悉app-router这种模式下,client component和server component的两种组件中基本的接口使用。 技术栈 nextjs14.2.* app-routervercel/postgres0.10.*typescript5 重要事情说三遍1 ap…...
tsconfig.json 内容解读
tsconfig.json 文件是 TypeScript 项目的主要配置文件,用于指定编译选项和项目设置。通过这个文件,你可以控制编译器的行为,例如输出文件的路径、模块解析方式、严格类型检查等。 以下是一些常见的 tsconfig.json 属性及其详细解释ÿ…...
KClass-关于kotlin中的反射
override val responseType: KClass<SetOperationModeResponse> SetOperationModeResponse::class,这段代码的含义: responseType 是一个只读属性(val),它的类型是 KClass<SetOperationModeResponse>。KClass<T&…...
Java集合剖析2】Java集合底层常用数据结构
一、数据结构与集合 接下来就要学习集合具体的实现类了,集合的实现类底层可能用1种或多种数据结构来存储数据。所以在学习集合的实现类前,我们有必要了解一下一些常见的数据结构,这样我们在后面查看集合实现类的底层源码时,才不会…...
java 第10天 String创建以及各类常用方法
一.String创建的两种形式 1.通过new的当时 String strnew String(); 2.不new的方式 String s1""; 二.new 和不new的方式的区别是什么 不new创建的字符串首先是拿着值去常量池中查找,是否有该内容,有就用常量池该字符串的地址࿰…...
VS 解决方案里面.vs文件夹
VS解决方案中的.vs文件夹主要用于存储当前用户在解决方案中的工作配置。 这些配置包括多个方面: 窗口布局和选项卡状态:.vs文件夹记录了VS关闭前最后的窗口布局以及最后打开的选项卡。这样,当用户重新打开解决方案时,可以继续之前…...
初试PostgreSQL数据库
文章目录 一、PostgreSQL数据库概述1.1 PostgreSQL的历史1.2 PostgreSQL安装1.3 安装PostgreSQL二、PostgreSQL起步2.1 连接数据库2.1.1 SQL Shell2.1.2 执行SQL语句2.2 pgAdmin 42.2.1 打开pgAdmin 42.2.2 查找数据库2.2.3 打开查询工具2.2.4 执行SQL语句三、实战小结文章目录…...
springboot3导出数据库数据到excel
一、导入依赖 <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.3.0</version></dependency><d…...
十四、行为型(观察者模式)
观察者模式(Observer Pattern) 概念 观察者模式(Observer Pattern)是一种行为型设计模式,它定义了对象间的一对多依赖关系,当被观察的对象(主题)状态发生改变时,所有依赖…...
爬取简书1
import osfrom selenium.webdriver.common.by import By from selenium import webdriver from selenium.webdriver.edge.service import Service import timeimport pandas as pdfrom selenium.webdriver.common.action_chains import ActionChainsdef get_aws():# 如果 WebDr…...
基于STM32单片机设计的矿山环境作业安全监测系统
文章目录 一、前言1.1 项目介绍【1】项目开发背景【2】设计实现的功能【3】项目硬件模块组成【4】需求总结1.2 设计思路1.3 系统功能总结1.4 开发工具的选择【1】设备端开发【2】上位机开发1.5 模块的技术详情介绍【1】BC26-NBIOT模块【2】DHT11温湿度模块【3】PM2.5粉尘模块二…...
大数据linux操作系统
第一关:Linux的初体验 答案: cd / ls -a / (里面有空格要注意) 第二关:Linux的常用命令 答案: touch newfile mkdir newdir cp newfile newdir/newfileCpy 第三关:Linux查询命令帮助语句…...
MySQL 【日期】函数大全(七)
目录 1、UNIX_TIMESTAMP() 将指定的日期/日期时间转为 UNIX 时间戳值。 2、WEEK() 返回给定日期位于当年的第几周。 3、WEEKDAY() 返回给定日期的工作日编号。 4、WEEKOFYEAR() 返回给定日期位于当年的第几周 5、YEAR() 提取日期的年份部分并作为数字返回。 6、YEARWEEK()…...
IP报文格式、IPv6概述
IPv4报文格式 IPv4报文首部长度至少为20字节(没有可选字段和填充的情况下),下面来逐一介绍首部各个字段的含义 Version版本:表示采用哪一种具体的IP协议,对于IPv4来说该字段就填充4以表示,如果是IPv6就填充6IHL首部长度ÿ…...
学习记录:js算法(六十七):任务调度器
文章目录 任务调度器思路一思路二 任务调度器 给你一个用字符数组 tasks 表示的 CPU 需要执行的任务列表,用字母 A 到 Z 表示,以及一个冷却时间 n。每个周期或时间间隔允许完成一项任务。任务可以按任何顺序完成,但有一个限制:两个…...
5分钟8图:Cursor如何让编程效率提升5倍?
5分钟8图,看Cursor如何革新AI编程? 作为一名AI编程的实践者,我很高兴为大家介绍Cursor - 一款基于VSCode的创新型集成开发环境(IDE),它巧妙地融合了先进的AI技术,为编程工作带来前所未有的便利。让我们通过多个图表深入了解Cursor的特性和工作流程。 Cursor的核心…...
3步搭建你的演唱会抢票自动化助手:告别手速焦虑
3步搭建你的演唱会抢票自动化助手:告别手速焦虑 【免费下载链接】DamaiHelper 大麦网演唱会演出抢票脚本。 项目地址: https://gitcode.com/gh_mirrors/dama/DamaiHelper DamaiHelper是一个基于Python开发的智能抢票工具,专门针对大麦网演唱会门票…...
C# 13不安全代码审计清单:7项Roslyn Analyzer新规+4类CI/CD拦截阈值配置(附GHA自动化检测脚本)
第一章:C# 13不安全代码管控配置概览C# 13延续了对内存安全的高度重视,在默认启用/unsafe-(即禁用不安全上下文)的前提下,将不安全代码的启用明确纳入项目级显式管控范畴。开发者必须主动声明许可,并通过多…...
JSP 动作标签:动态包含、请求转发与登录跳转实战
在 JSP 开发中,除了我们熟悉的page、include指令,JSP 动作标签(Action Tag)是实现页面复用、请求转发、参数传递的核心利器。 一、JSP 动作标签核心概览 JSP 动作标签是 JSP 提供的内置标签,以jsp:为前缀,…...
PHP 魔术常量
PHP 魔术常量 引言 PHP 魔术常量(Magic Constants)是 PHP 中一种特殊类型的常量,它们提供了一种便捷的方式来访问文件、类、函数、方法和对象的信息。这些常量在 PHP 代码中非常有用,特别是在调试和配置方面。本文将详细介绍 PHP …...
AIGlasses OS Pro快速体验:无需安装,在线Demo即刻试用核心功能
AIGlasses OS Pro快速体验:无需安装,在线Demo即刻试用核心功能 最近在星图GPU平台上发现了一个挺有意思的AI镜像,叫AIGlasses OS Pro。名字听起来有点酷,但最吸引我的地方是,它提供了一个完整的在线演示环境。这意味着…...
以考促学、以练固基:一体化在线考试学习平台设计与实践
在数字化培训与考核普及的背景下,考试、学习、练习一体化已成为企事业单位、教育、政府、金融、电力等行业提升培训效率、规范考核流程的核心需求。传统模式下学习、练习、考试相互割裂,存在组织成本高、监管难度大、数据不互通、效果难追踪等问题&#…...
3. 函数新增了哪些扩展?
一、先给一个面试开场思路如果面试官问:ES6 对函数新增了哪些扩展?不要一上来就堆概念。 比较好的回答方式是先分类:ES6 对函数的扩展,我一般会从 参数、作用域、函数写法、this 绑定、尾调用、函数名、rest/spread 这几个方面来说…...
如何使用node-fetch实现GraphQL批量查询:5个减少请求数量的实用技巧
如何使用node-fetch实现GraphQL批量查询:5个减少请求数量的实用技巧 【免费下载链接】node-fetch A light-weight module that brings the Fetch API to Node.js 项目地址: https://gitcode.com/gh_mirrors/no/node-fetch 在现代API开发中,频繁的…...
算法工具箱之前缀和
前缀和概念:前缀和(Prefix Sum)是一种重要的预处理技术,能够在O(1)时间内快速计算数组任意区间的和。核心思想:对于数组nums,我们预先计算一个前缀和数组prefix,其中:prefix[i]表示n…...
OpenClaw+百川2-13B量化模型:个人知识库自动整理实战指南
OpenClaw百川2-13B量化模型:个人知识库自动整理实战指南 1. 为什么需要自动化知识管理 作为一名独立研究者,我常年被两个问题困扰:一是收集的文献资料散落在不同文件夹,每次找文件都要经历"考古式搜索";二…...
