2012-02-19 3 views
1

chrome.exe를 닫으려면 프로세스를 종료하지만 다시 열면 크롬이 손상되었다고 표시됩니다.크롬 브라우저를 다시 시작하지 않고 다시 시작하는 방법

FindWindow $0 "Chrome_WidgetWin_0" 
${If} $0 <> 0 
    SendMessage $0 0x0112 0xF060 0 
${EndIf} 

을하지만 코드는 NSIS이지만은 WIN32을 (를 FindWindow, sendMessage 첨부) 호출을 사용

을 작동하는 것 같다하지 않습니다

나는 또한 시도했다.

감사

+2

에 있습니다. 물론 Chrome에 오류가 발생했다고 표시됩니다. ** ** 오류가 발생했습니다. **. 프로세스를 종료하는 것은 응용 프로그램을 닫는 표준 방법이 아닙니다. –

+0

'WM_SYSCOMMAND' (0x0112) 대신'WM_CLOSE' (0x0010)을 보내 봤습니까? – Chris

+0

여러 Chrome 탭과 창을 열어 놓을 수도 있습니다. 'WM_CLOSE'를 사용하면 모든 것을 닫히기에 충분하지 않습니다. 어쨌든 사용자의 컴퓨터에서 프로세스를 프로그래밍 방식으로 종료하려고하는 이유는 무엇입니까? –

답변

4

는 사용할 수 WM_SYSCOMMAND 폐쇄 할 수있는 올바른 창을 활용하려면 다음

FindWindow $0 "Chrome_WidgetWin_0" "" "" "Chrome_RenderWidgetHostHWND" 
System::Call 'user32::GetParent(i r0)i.s' 
pop $0 

${If} $0 <> 0 
    SendMessage $0 0x0112 0xF060 0 
${EndIf} 

을하지만 CodyGray 댓글을 달았습니다, 당신은 브라우저를 다시 시작할 필요가 없습니다 Chrome 확장을 설치하려면 조금도. 설명서는 Google Chrome Documentation

+1

+1은 올바른 일을합니다. –

관련 문제