打开regedit 注册表编辑器
找到 HKEY_CLASSES_ROOT 新建 如下目录
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
"C:\Windows\System32\cmd.exe" "%1"
最后在浏览器中输入
cmd://
即可打开cmd
#include <stdio.h> #include <iostream> #include <fstream> #include <string> #include "string" #include <Windows.h> #include <sstream> using namespace std; void prompt(LPWSTR szCmd); wchar_t* charToWchar(const char* src); void write(string content); std::string decodeURIComponent(const std::string& in); int main(int nArgc, char* argv[]) { string str = ""; for (size_t i = 1; i < nArgc; i++) { str += " " + string(argv[i]); } str = decodeURIComponent(str.substr(7,str.length() - 8)); str = "start cmd /k " + str; write(str); system(str.c_str()); return 0; } //int main() { // string str = "test"; // write(str); //} string decodeURIComponent(const string& in) { int readFlag = 0; int code = 0; stringstream ssUri; for (const char& c : in) { if ((readFlag == 0) && (c == '%')) { readFlag = 1; continue; } else if (readFlag == 1) { if (isxdigit(c)) { if (isdigit(c)) code = c - '0'; else if (c >= 'A' && c <= 'F') code = (0x0a + (c - 'A')); else return string(); readFlag = 2; continue; } else { return string(); } } else if (readFlag == 2) { if (isxdigit(c)) { code <<= 4; if (isdigit(c)) code |= (c - '0'); else if (c >= 'A' && c <= 'F') code |= (0x0a + (c - 'A')); else return string(); ssUri << (char)(code & 0xff); code = 0; readFlag = 0; continue; } else { return string(); } } else { ssUri << c; } } return ssUri.str(); } void write(string content) { ofstream ofs; ofs.open((char*)"C:\\Users\\djatm\\source\\repos\\urlProtocol\\logs.txt", ios::out); ofs << content << endl; ofs.close(); } void prompt(LPWSTR szCmd) { TCHAR szModuleName[MAX_PATH]; STARTUPINFO si = { 0 }; PROCESS_INFORMATION pi = { 0 }; GetModuleFileName(NULL, szModuleName, MAX_PATH); CreateProcess(NULL, szCmd, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi); WaitForSingleObject(pi.hProcess, INFINITE); CloseHandle(pi.hThread); CloseHandle(pi.hProcess); } wchar_t* charToWchar(const char* src) { size_t size = strlen(src) + 1; wchar_t* dest = new wchar_t[size]; size_t outSize; mbstowcs_s(&outSize, dest, size, src, size - 1); return dest; }
ping 一下百度:
cmd://ping www.baidu.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)