执行这些命令时,不要直接在系统自带cmd上去执行,因为这些命令工具所在的目录并没有添加到Path中;所以需要使用Visual Studio的开发者命令行工具。

或者也可以单独下载一个SignTool, 下载链接:https://www.wosign.com/download/Signtool.rar

具体命令指令查看: https://docs.microsoft.com/zh-cn/dotnet/framework/tools/signtool-exe

使用示例:

其中:

(1) /v:显示详细的签名结果;

(2) /f xx.pfx:加载代码签名证书。请把颁发给你的用户证书放到signtool目录下,或者指定文件路径;

(3) /p 密码:申请证书时候设置的密码;

(4) /t,/tr:为代码加上WoSign免费时间戳,确保签名后的代码永不过期;

(5) test.cab: 就是您要签名的Windows文件,如:.cab, .dll, .exe 等文件;

请注意:签名时,一定要保证能连上互联网,否则由于无法访问时间戳服务器而失败。

签名完成后,如果显示“Successfully signed and timestamped”(成功签名与加上时间戳),如下图所示,这表明签名已经成功:

QQ音乐

通过网页进入音乐的播放页面后,像这个界面一样

按F12(笔记本一般为Fn+F12),如下图所示:其中这一段就是我们正在收听的音乐的下载地址,不过下载下来的格式是.M4A格式的音乐,如果需要.MP3格式的音乐需要使用格式工厂等工具进行转码。

网易云音乐

首先进入网易云音乐官网,然后搜索想要下载的音乐,然后进入到该音乐的播放界面,如下图所示,记住这个音乐的ID。

然后在这个网址http://music.163.com/song/media/outer/url?id=.mp3的id标签后面加上这串数字。
比如上面的《倒带》的id是 209758。
网址就变成了http://music.163.com/song/media/outer/url?id=209758.mp3
然后直接在浏览器中输入这个网址就进入这个播放该音乐的界面,在该界面就可以成功下载了。

#include "Winver.h";
#pragma comment(lib,"Version.lib")
DWORD GetIeVersion()
{
	const TCHAR szFilename[] = _T("mshtml.dll");
	DWORD dwMajorVersion = 0, dwMinorVersion = 0;
	DWORD dwBuildNumber = 0, dwRevisionNumber = 0;
	DWORD dwHandle = 0;TCHAR szBuf[80];
	DWORD dwVerInfoSize = GetFileVersionInfoSize(szFilename, &dwHandle);//判断容纳文件版本信息需要一个多大的缓冲区
	if (dwVerInfoSize)
	{
		LPVOID lpBuffer = LocalAlloc(LPTR, dwVerInfoSize);//从堆中分配指定大小的字节数
		if (lpBuffer)
		{
			//从支持版本标记的一个模块里获取文件版本信息
			if (GetFileVersionInfo(szFilename, dwHandle, dwVerInfoSize, lpBuffer))
			{
				VS_FIXEDFILEINFO * lpFixedFileInfo = NULL;
				UINT nFixedFileInfoSize = 0;
				if (VerQueryValue(lpBuffer, TEXT("\\"), (LPVOID*)&lpFixedFileInfo, &nFixedFileInfoSize) && (nFixedFileInfoSize))
				{//从版本资源中获取信息
					dwMajorVersion = HIWORD(lpFixedFileInfo->dwFileVersionMS);//主版本号
					dwMinorVersion = LOWORD(lpFixedFileInfo->dwFileVersionMS);//副版本号
					dwBuildNumber = HIWORD(lpFixedFileInfo->dwFileVersionLS);//编译版本号
					dwRevisionNumber = LOWORD(lpFixedFileInfo->dwFileVersionLS);//修订版本号
				}
			}
			LocalFree(lpBuffer);
		}
	}
	else return 0;
	wchar_t buf[1024] = { 0 };
	wsprintfW(buf, L"IE 版本为 %d.%d.%d.%d", dwMajorVersion, dwMinorVersion, dwBuildNumber, dwRevisionNumber);
	OutputDebugStringW(buf);
	return dwMajorVersion;//返回主版本号
}