라벨이 ActiveX인 게시물 표시

[ActiveX] Shell Execute2

ShellExecute() 함수는 프로그램을 실행시킬 수 있는 함수이다. "shellapi.h" 헤더와 "shell32.lib"를 사용한다... 함수의 원형은 아래와 같다. HINSTANCE ShellExecute( HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd ); 각 인자를 대략적으로 설명하면 아래와 같다... hwnd : 핸들...보통 NULL로 두면 된다... lpOperation : 수행할 동작으로 프로그램 실행시에는 "open"을 사용... lpFile : 수행할 프로그램의 파일명을 적는다...보통 절대경로와 함께 지정... lpParameters : 프로그램 수행시 지정되는 인자가 있는 경우 적어주고 없으면 NULL로 지정... lpDirectory : "lpFile"이 존재하는 파일의 경로를 적어준다...보통 "lpFile"에 경로를 같이 적어주므로 NULL로 지정... nShowCmd : 프로그램 수행시 윈도우 크기 등 지정... - 사용예 - 프로그램 실행 ShellExecute(NULL, "open", "C:/Program Files/NATEON/BIN/NATEON.exe", NULL, NULL, NULL); 웹사이트 접속 ShellExecute(NULL, "open", "http://www.naver.com", NULL, NULL, SW_SHOWNORMAL ); 메일 보내기 ShellExecute(NULL, "open", "mailto:메일주소", NULL, NULL, SWP_SHOWWINDOW);

[ActiveX] ShellExecute,WinExec,CreateProcess (IE 실행방법)

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....