Windows中 在cmd中打开指定路径的文件管理器 在文件管理器中打开对应路径的cmd

Intro

开发人员有时会有这样的需求。

文件管理器的程序名称为C:\Windows\explorer.exe
.表示当前目录,..表示上一层目录。

在cmd中打开指定路径的文件管理器

explorer 要打开的目录
如:
explorer . 打开当前目录
explorer .. 打开上一层目录
explorer d:\ 打开D盘
在这里插入图片描述

在文件管理器中打开对应路径的cmd

在文件管理器的地址栏中输入cmd即可启动cmd,且启动的cmd会自动定位到本路径。
(快捷键Ctrl+L可以直接定位到地址栏中)
在这里插入图片描述

如果您需要让 exe 在 cmd 打开,可以将 CreateProcess 函数的第一个参数设置为 "cmd",第二个参数设置为包含 exe 文件路径和参数的字符串。以下是一个示例代码: ```c++ #include <windows.h> #include <iostream> #include <string> #include <sstream> using namespace std; int main() { string exePath = "C:\\MyProgram.exe"; // exe 文件路径 string arg1 = "argument1"; // 参数1 string arg2 = "argument2"; // 参数2 // 读取注册表的空闲串口数量 HKEY hKey; DWORD dwNum = 0; if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "HARDWARE\\DEVICEMAP\\SERIALCOMM", 0, KEY_READ, &hKey) == ERROR_SUCCESS) { RegQueryInfoKey(hKey, NULL, NULL, NULL, NULL, NULL, NULL, &dwNum, NULL, NULL, NULL, NULL); RegCloseKey(hKey); } // 根据空闲串口数量创建对应数量的子进程 for (DWORD i = 0; i < dwNum; i++) { STARTUPINFO si = { sizeof(si) }; PROCESS_INFORMATION pi; stringstream ss; ss << "cmd /c \"" << exePath << " " << arg1 << " " << arg2 << " " << i << "\""; // 传递参数 string cmdLine = ss.str(); if (!CreateProcess(NULL, (LPSTR)cmdLine.c_str(), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) { cout << "Failed to create process: " << GetLastError() << endl; } else { cout << "Process created with ID " << pi.dwProcessId << endl; CloseHandle(pi.hProcess); CloseHandle(pi.hThread); } } return 0; } ``` 在上面的示例代码,我们使用了 "cmd /c" 命令将 exe 文件路径和参数包装在引号内,以便在 cmd 运行。然后,使用 CreateProcess 函数根据空闲串口数量创建对应数量的子进程,并将 "cmd /c" 命令和包含 exe 文件路径和参数的字符串传递给子进程。最后,关闭子进程的句柄并结束程序。 请注意,此示例代码仅供参考,并且可能需要进行适当调整才能满足您的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值