MFC CStringのSplit()

/// <summary>
/// 文字列のSplit
/// ネタ元:https://gurizuri0505.halfmoon.jp/develop/cplusplus/split
/// </summary>
/// <param name="str">元データ CString</param>
/// <param name="delim">デリミタ</param>
/// <param name="result">出力先 CStringArray</param>
void split(CString str, CString delim, CStringArray& result)
{
	result.RemoveAll();
	int indexback = 0;

	CString st;
	int i;
	for (i = 0; i < str.GetLength(); i++)
	{
		if (str.GetAt(i) == delim.GetAt(0))
		{
			if ((i - indexback) == 0)
			{
				result.Add("");
			}
			else
			{
				st = str.Mid(indexback, i - indexback);
				result.Add(st);
			}
			indexback = i + 1;
		}
	}

	if ((i - indexback) != 0)
	{
		st = str.Mid(indexback, i - indexback);
		result.Add(st);
	}

}

MFC 転送URLの転送先を取得

変数urlに URLが入ってるとしての処理
szRedirectが!=""なら転送。ここに転送先URLが入ってる

	// 転送URL先URL取得
	CString Server_Host_Address;
	CString FileLocation;
	CString Referer;
	CString SaveDirectory;
	CString SaveName;

	CString tmpUrl = url;
	tmpUrl.Replace("http://", "");
	tmpUrl.Replace("https://", "");

	int pos = tmpUrl.Find("/");
	Server_Host_Address = tmpUrl.Left(pos);
	FileLocation = tmpUrl.Mid(pos + 1);


	HINTERNET hInternet;
	HINTERNET hHttpSession;

	// WININET初期化
	hInternet = InternetOpen(
		"Web_Downloader",
		INTERNET_OPEN_TYPE_PRECONFIG,
		NULL,
		NULL,
		0);

	if(hInternet == NULL ) return 0;

	hHttpSession = InternetOpenUrl(hInternet,
		url,
		NULL,
		0,
		INTERNET_FLAG_NO_AUTO_REDIRECT | INTERNET_FLAG_RELOAD,
		0
	);

	if (hHttpSession == NULL) {
		InternetCloseHandle(hInternet);
		return 0;
	}

	TCHAR szRedirect[4096] = { 0 };
	DWORD dwRedirect = sizeof(szRedirect);
	DWORD StatusCode, StatusCode_Size = sizeof(DWORD);
	BOOL bHttpQueryInfo_STATUS = HttpQueryInfo(                        //エラーコードを数値として返してくれる。
		hHttpSession,
		HTTP_QUERY_LOCATION,
		(LPVOID)szRedirect, 
		&dwRedirect,
		NULL);

	if ( szRedirect[0] != '\0' ) {
		// 転送!
	}

	InternetCloseHandle(hHttpSession);
	InternetCloseHandle(hInternet);



VBScriptで、32 ビットまたは 64 ビットの Windows OS を実行しているかどうかを判断

strOSArch = GetObject("winmgmts:root\cimv2:Win32_OperatingSystem=@").OSArchitecture
If Instr(strOSArch,"64") <> 0 Then
	'OSが64ビット
	MsgBox "64"
Else
	'OSが32ビット
	MsgBox "32"
End if

以下は完璧じゃないっぽい

Dim WshShell
Dim WshProcEnv
Dim system_architecture
Dim process_architecture

Set WshShell =  CreateObject("WScript.Shell")
Set WshProcEnv = WshShell.Environment("Process")

process_architecture= WshProcEnv("PROCESSOR_ARCHITECTURE") 

If process_architecture = "x86" Then    
    system_architecture= WshProcEnv("PROCESSOR_ARCHITEW6432")

    If system_architecture = ""  Then    
        system_architecture = "x86"
    End if    
Else    
    system_architecture = process_architecture    
End If