Microsoft MVP성태의 닷넷 이야기
다른 프로세스 실행 후 포커스 가져오기 [링크 복사], [링크+제목 복사],
조회: 10067
글쓴 사람
차가워 (like0430 at nate.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

안녕하세요.

윈폼 그리드에 url 목록이 있어,
원하는 셀에서 엔터를 치면 해당 셀 안의 url을 가져와 아래 코드를 실행하여 웹페이지를 뛰우는데요.

string tmpUrl = "https://finance.naver.com";
Process.Start(tmpUrl);

위의 코드를 실행하면 크롬창으로 포커스가 갑니다.
다시 지금 사용중인 그리드로 포커스를 줄려면 어떻게 해야 하나요?

그리드에서 키보드화살표로 원하는 셀 지정하고 엔터를 쳐서 웹페이즈를 띄우는 중입니다.
한페이지 띄우고 다음셀로 이동 하려 하는데 포커스를 잃어서 키보드화살표가 안 먹네요.

윈32api의 아래코드를 다 해보았지만 잘 안되는데요.
BringWindowToTop
SetActiveWindow
SetForegroundWindow
ShowWindow

원래 안되는건가요?


[연관 글]






[최초 등록일: ]
[최종 수정일: 2/8/2023]


비밀번호

댓글 작성자
 



2023-02-08 04시40분
아마 시점이 중요할 것입니다. 즉, Process.Start 이후 곧바로 호출하지 마시고, Chrome이 떠서 포커스를 가져간 이후 저 API들을 사용해 보세요.
정성태
2023-02-08 05시40분
[차가워] 200ms 텀을 두고 호출하니 잘 됩니다.
감사합니다.
[guest]
2023-02-09 08시42분
아래의 글도 참고하세요. ^^

C# - 다른 윈도우 프로그램이 실행되었음을 인식하는 방법
; https://www.sysnet.pe.kr/2/0/13253

(받은 거에 비해 답변이 너무 부실해 좀 더 정리해 봤습니다. ^^)
정성태

NoWriterDateCnt.TitleFile(s)