天天看點

vc使用預設的浏覽器打開網頁

可以有兩種的方式 第一:通過winecec()函數,但是有取得系統資料庫的鍵值 第二:通過shellexec()他很簡單 就是一句話 ShellExecute(NULL,"open","f:\\11.htm",NULL,NULL,SW_SHOW);       把第一種的代碼

HKEY hkRoot,hSubKey; //定義系統資料庫根關鍵字及子關鍵字 		char ValueName[256]; 		unsigned char DataValue[256]; 		unsigned long cbValueName=256; 		unsigned long cbDataValue=256; 		char ShellChar[256]; //定義指令行 		DWORD dwType;  		//打開系統資料庫根關鍵字 		if(RegOpenKey(HKEY_CLASSES_ROOT,NULL,&hkRoot)==ERROR_SUCCESS) 		{ 			//打開子關鍵字 			if(RegOpenKeyExA(hkRoot, 				"htmlfile\\shell\\open\\command", 				0, 				KEY_ALL_ACCESS, 				&hSubKey)==ERROR_SUCCESS) 			{ 				//讀取系統資料庫,擷取預設浏覽器的指令行     				RegEnumValueA(hSubKey, 					0, 					ValueName, 					&cbValueName, 					NULL, 					&dwType, 					DataValue, 					&cbDataValue); 				// 調用參數(首頁位址)指派 				strcpy(ShellChar,(char *)DataValue); 				strcat(ShellChar, "www.baidu.com"); 				// 啟動浏覽器 				WinExec(ShellChar,SW_SHOW);  			} 			else 				TRACE("WEB浏覽器打開錯誤!"); 		} 		else 			TRACE("WEB浏覽器打開錯誤!"); 		//關閉系統資料庫 		RegCloseKey(hSubKey); 		RegCloseKey(hkRoot);
           

RegOpenKeyEx

RegOpenKeyEx()

函數功能描述:打開一個制定的系統資料庫鍵

函數原型:

LONG RegOpenKeyEx(

               HKEYhKey,        //已經打開鍵的句柄

               LPCTSTRlpSubKey,  // 子鍵的名稱

               DWORDulOptions,   // 保留

               REGSAMsamDesired, // 安全通路标記

               PHKEYphkResult    //指向将要打開鍵的句柄

);

參數:

    hKey

       [輸入]目前打開或者以下預定義的鍵。

                    HKEY_CLASSES_ROOT

                    HKEY_CURRENT_CONFIG

                    HKEY_CURRENT_USER

                    HKEY_LOCAL_MACHINE

                    HKEY_USERS

       WindowsNT/2000/XP: HKEY_PERFORMANCE_DATA

         Windows95/98/Me: HKEY_DYN_DATA

    lpSubKey

       [輸入]指向一個非中斷字元串包含将要打開鍵的名稱。如果參數設定為NULL或者指向一個空字元串,過程将打開一個新的句柄由hKey參數确定的值。這種情況下,過程不會關閉先前已經打開的句柄。

    ulOptions

       保留,必須設定為0

    samDesired

       [輸入]對指定鍵希望得到的通路權限的通路标記。這個參數可以使下列值的聯合。

            值                         

轉載于:https://blog.51cto.com/whatday/1382525

繼續閱讀