Windows Programming

프로세스에서 URL이 있는 IE를 실행시킬때 (notepad등)

macro 2009. 10. 8. 14:50
반응형

1. STARTUPINFO 셋팅.
2. IE 커맨드 셋팅.
3. CreateProcess 호출 (위의 값은 parameter로 사용됨)


void show_notice(RegData *reg_data, TCHAR *url)
{

 STARTUPINFO si; 
 
 SecureZeroMemory(&si, sizeof(si) ); 
 si.cb = sizeof(si); 
 
 // 비스타에서 테스트 할 필요 있음. XP에서는 잘 됨.
 si.lpDesktop = L"WinSta0\\default";   
 PROCESS_INFORMATION pi;

 TCHAR cmd[256] ={0,};
 TCHAR ie[64] = L"C:\\Program Files\\Internet Explorer\\iexplore.exe";
 //TCHAR url1[128] = L"http://www.google.co.kr/webhp?rls=esft";
 TCHAR id[64] = {0,};
 wcscpy_s(id, sizeof(TCHAR)*64, reg_data->agent_id);
 // 아래에 에이전트 아이디 붙이면 된다.
 //wsprintf(cmd, L"explorer.exe %s", url);
 wsprintf(cmd, L"%s %s%s", ie, url, id);

 Log(L"cmd : %s", cmd);
 CreateProcess(NULL, cmd, NULL, NULL, TRUE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi);
 CloseHandle(pi.hProcess);
 CloseHandle(pi.hThread);
}

반응형