1. 레지스트리 경로
\software\microsoft\windows\currentversion\app paths\IEXPLORE.EXE
에 보시면 iexplorer.exe 패스가 나옵니다.
win9x, winMe, win2k 동일합니다.
spath는 설치된 경로, surl은 http://www.yahoo.co.kr/
모두 문자열입니다.
STARTUPINFO si;
PROCESS_INFORMATION pi;
memset(&si,0,sizeof(STARTUPINFO));
sprintf(cmd,"%s %s",spath,surl);
CreateProcess (NULL,cmd,NULL,NULL,true, NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&pi);
항상 새로운 윈도우에 프로그램이 실행됩니다.
2. 항상 새로운 익스플로러 실행
ShellExecute(NULL,"open","iexplore",((SiteInfo*)GetItemData(nItem))->Url,NULL,SW_SHOW);
형식> ShellExecute(NULL,"open","iexplore", url, NULL, SW_SHOW);
3. 마지막으로 실행된 익스플로러를 이용
ShellExecute(NULL,"open",((SiteInfo*)GetItemData(nItem))->Url,NULL,NULL,SW_SHOW);
형식> ShellExecute(NULL,"open", url, NULL, SW_SHOW);
4. 레지스트리에서 경로를 읽어와서 익스플로러 새창을 뛰우기
HKEY hkey;
LONG ReturnValue=RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\
App Paths\\IEXPLORE.EXE",0, KEY_ALL_ACCESS,&hkey);
if(ReturnValue==ERROR_SUCCESS)
{
DWORD dwType;
DWORD dwSize = 200;
char szString[255];
LONG lReturn = RegQueryValueEx (hkey, "", NULL,&dwType, (BYTE *)
szString, &dwSize);
if(lReturn==ERROR_SUCCESS )
{
RegCloseKey(hkey);
CString str;
str.Format("%s",szString);
str+=" ";
str+=((SiteInfo*)GetItemData(nItem))->Url;
WinExec(str,SW_SHOW);
}
}