有时候复制的磁力链接并没有磁力头,而只有后面的内容,这个时候就必须给磁力链接添加开头magnet:xt=urn:btih:下载软件才能识别,如果经常需要这么做比较麻烦,于是我写了一个自动添加磁力头的小软件,运行即可自动添加,减少操作步骤。
直接上代码吧:
char* buffer = nullptr; CString strFromClipboard; if(OpenClipboard()) {//将剪贴板文本复制到文本框HANDLE hData = GetClipboardData(CF_TEXT); char* buffer = (char*)GlobalLock(hData); strFromClipboard = buffer;int nLen = strFromClipboard.GetLength();if (nLen > 0){if (strFromClipboard.Find(_T("magnet:xt=urn:btih:")) == -1){EmptyClipboard();strFromClipboard = _T("magnet:xt=urn:btih:") + strFromClipboard;size_t cbStr = (strFromClipboard.GetLength()+1)*sizeof(TCHAR); HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE, cbStr);memcpy_s(GlobalLock(hData), cbStr, strFromClipboard.LockBuffer(), cbStr);strFromClipboard.UnlockBuffer();UINT nFormat = (sizeof(TCHAR) == sizeof(WCHAR) ? CF_UNICODETEXT:CF_TEXT);::SetClipboardData(nFormat, hData);}}GlobalUnlock(hData);CloseClipboard();}