CWebBrowser实现 JavaScript 调用 C++

在 MFC 的 **CWebBrowser** 控件中,通过使用 COM 接口,可以实现 JavaScript 调用 C++ 的功能。以下是详细步骤: --- ### **实现原理** 1. **注册 ActiveX 接口:** 将 C++ 的方法通过 COM 的方式暴露给 JavaScript 使用。 2. **网页调用 COM 方法:** JavaScript 可以通过 `window.external` 对象调用暴露的接口方法。 3. **通信逻辑:** - C++ 定义接口并实现方法。 -... Read More

Comments: 0   Category: 技术

Inno Setup 打包工具的使用

Inno Setup 是一款免费的 Windows 安装包制作工具,支持多种功能,如安装文件打包、卸载功能、注册表修改、快捷方式创建等。以下是完整的 Inno Setup 使用步骤: --- ## **1. 下载和安装 Inno Setup** 1. 前往 [Inno Setup 官网](https://jrsoftware.org/isinfo.php) 下载最新版本。 2. 安装并启动 Inno Setup。 --- ## **2. 创建安装脚本** ### **2.1 使用 Inno... Read More

Comments: 0   Category: 技术

catch1.x 测试日志的输出

在 Catch 框架中,测试日志的输出明细可以通过以下方式来定制和查看,包括更详细的断言信息、附加日志输出等。以下是一些具体方法: --- ## 1. **使用 Catch 的 `INFO` 和 `CAPTURE` 输出附加信息** Catch 提供了 `INFO` 和 `CAPTURE` 宏,可以在测试中插入额外的信息到日志中,方便调试和排查问题。 ### 示例代码: ```cpp #include #include TEST_CASE("Detailed logging example",... Read More

Comments: 0   Category: 技术

catch1.x 测试用例全局初始化

在 Catch1.x 中,测试用例的全局初始化和清理可以通过以下方式实现: --- ## 方法 1:通过全局对象的构造函数和析构函数 这是最简单的方式,通过定义一个全局对象,并在其构造函数中实现初始化逻辑,在析构函数中实现清理逻辑。 ### 示例代码: ```cpp #include #include struct GlobalInitializer { GlobalInitializer() { std::cout #include int globalSetup() { std::cout... Read More

Comments: 0   Category: 技术

Windows驱动测试 关闭驱动程序签名强制

### **步骤 1:禁用驱动程序签名强制** 1. 打开 **命令提示符(管理员)**。 - 在 **开始菜单** 中搜索 `cmd`,然后右键点击 **命令提示符**,选择 **以管理员身份运行**。 2. 在命令提示符中,输入以下命令禁用驱动程序签名强制: ```bash bcdedit /set nointegritychecks on ``` 这将禁用驱动程序签名强制,允许您加载未签名或测试签名的驱动程序。 ### **步骤 2:启用测试签名模式** 对于开发人员或测试目的,您还需要启用... Read More

Comments: 0   Category: 技术

shadowsocks-libev服务介绍

## 一、shadowsocks-libev服务的搭建 使用 `shadowsocks-libev` 搭建 Shadowsocks 服务器是一种更轻量且维护更好的方式。以下是详细步骤: ### 步骤 1: 安装 `shadowsocks-libev` 1. **更新软件包索引**: ```bash sudo apt update ``` 2. **安装 `shadowsocks-libev`** : 在 Ubuntu/Debian 上执行以下命令: ```bash sudo apt install... Read More

Comments: 0   Category: 技术

使用 Dante 搭建socks5服务

### 1. 安装 Dante 在基于 Debian/Ubuntu 的系统上,执行以下命令来安装 Dante: ```bash sudo apt-get update sudo apt-get install dante-server ``` ### 2. 配置 Dante Dante 的配置文件通常位于 `/etc/danted.conf`。你需要编辑该文件来设置代理服务: ```bash sudo nano /etc/danted.conf ``` 使用以下配置示例(请根据实际情况修改):... Read More

Comments: 0   Category: 技术

Flask 服务器上部署了 Nginx 后,增加 HTTPS 支持

### 1. 安装 Nginx 首先,在 Ubuntu 服务器上安装 Nginx: ```bash sudo apt update sudo apt install nginx ``` ### 2. 启动 Nginx 安装完成后,启动 Nginx 并设置为开机自启: ```bash sudo systemctl start nginx sudo systemctl enable nginx ``` ### 3. 获取 SSL 证书 可以使用 Let's Encrypt 免费获取 SSL... Read More

Comments: 0   Category: 技术

Flask服务器上部署nginx

在 Flask 服务器上部署 Nginx 的步骤如下: ### 1. 安装 Nginx 首先,确保你的服务器上安装了 Nginx。 在 Ubuntu 上,可以使用以下命令: ```bash sudo apt update sudo apt install nginx ``` ### 2. 启动和检查 Nginx 安装完成后,启动 Nginx 并检查其状态: ```bash sudo systemctl start nginx sudo systemctl enable nginx sudo... Read More

Comments: 0   Category: 技术

DetourTransactionBegin函数作用

`DetourTransactionBegin` 是微软的 Detours 库中的一个函数。Detours 是一个用于拦截和重定向 Win32 API 函数调用的库,常用于函数钩子(hooking)操作,比如在不修改原始应用程序的情况下替换、修改或扩展其行为。 `DetourTransactionBegin` 是设置函数拦截的事务(transaction)操作的起点,所有需要拦截的函数都需要在事务中执行。通过使用事务,Detours... Read More

Comments: 0   Category: 技术