////////////////////////////////////////////////////////////////////////////////////////////////////////////SpecialSample2
//モデム名をレジストリから取得し、comポート番号をレジストリから取得する
////////////////////////////////////////////////////////////////////////////////////////////////////////////SpecialSample2
void CShareDlg::OnButton27() 
{
	CString csModemBase;

	OSVERSIONINFO osvi;
	osvi.dwOSVersionInfoSize = sizeof( OSVERSIONINFO );
	//OSバージョン取得
	GetVersionEx( &osvi );									

	//
	//OSにより取得するレジストリパスが違う
	//
	if ( osvi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS )
		//Windows95/98系
	{														
		csModemBase = "SYSTEM\\CurrentControlSet\\Services\\Class\\Modem\\";
	}
	else
		//WindowsNT系
	{														
		csModemBase = "SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E96D-E325-11CE-BFC1-08002BE10318}\\";
	}

	CString csRegKey;
	CString csModemName;
	CString csComPort;
	for(int i=0;i<100;i++){
		//レジストリにインデックス番号を付加してレジストリパスを完成させる
		csRegKey.Format("%s%04d", csModemBase, i);	
		//モデム名取得
		csModemName = GetProfileString( csRegKey, "Model", "", HKEY_LOCAL_MACHINE );	
		//無ければこれでおわり
		if(csModemName.IsEmpty()){					
			continue;
		}
		//comポートを取得する
		csComPort = GetComPort(csRegKey, i);		

		TRACE("csModemName = %s %s\n", csModemName, csComPort);
	}
}

頭の回転が速くなる耳トレの紹介
   仙台市小松島の賃貸アパート紹介
   サーチエンジン、掲示板リンク集
アイドル情報