累计签到:3 天 连续签到:1 天
|
尝试了多次,包括VBS、NirCMD、PowerShell都是失败告终:
- Windows Registry Editor Version 5.00
- [HKEY_CLASSES_ROOT\*\shell\copypath]
- @="复制文件完整路径"
- "Icon"="D:\\网络相关\\袖珍版IDM.exe,0"
- [HKEY_CLASSES_ROOT\*\shell\copypath\command]@="\"d:\\CopyMultiPath.exe\" \"%1\""
末了一生气,干脆使用VS2022专门开发一下吧:
<ol>#define _CRT_SECURE_NO_WARNINGS // 1. 禁用安全警告
#include
#include
#include
#include
#include
// 使用 wchar_t 处理 Unicode,确保中文路径不乱码
void SetClipboardUnicode(const std::wstring& text) {
if (!OpenClipboard(nullptr)) return;
EmptyClipboard();
size_t size = (text.size() + 1) * sizeof(wchar_t);
HGLOBAL hGlob = GlobalAlloc(GMEM_MOVEABLE, size);
if (hGlob) {
memcpy(GlobalLock(hGlob), text.c_str(), size);
GlobalUnlock(hGlob);
SetClipboardData(CF_UNICODETEXT, hGlob);
}
CloseClipboard();
}
int wmain(int argc, wchar_t* argv[]) { // 使用 wmain 接收宽字符参数
if (argc < 2) return 0;
// 2. 获取临时文件路径
wchar_t tempPath[MAX_PATH];
GetTempPathW(MAX_PATH, tempPath);
std::wstring tempFile = std::wstring(tempPath) + L"xcopy_paths.tmp";
// 3. 追加路径到临时文件 (使用二进制模式并写入 UTF-16)
std::wofstream ofs(tempFile, std::ios::app);
ofs.imbue(std::locale("")); // 适配体系语言
ofs |
精密测量技术论坛免责声明
重要声明:以上内容仅代表该作者观点,不代表本站精密测量技术论坛立场。
如有涉及侵权请尽快告知,我们将会在第一时间处理。作者原创内容未经允许不得转载!
站长联系邮箱:1339305021@qq.com
站长联系微信:dddnnbbb
|