A실행파일 다른 B 실행파일을 호출하는 데 작성한 내용인데요
평상시 쓰는건 문제가 없는데요..
B실행파일에서 서브폼이 showmodal 속성으로 떠있는 상태에서
다른 실행파일로 갔다오면 B 실행파일에서 showmodal 폼이 뒤로 숨어
B 실행화면이 아무것도 못하는 상태가 되는데요..
SetForegroundWindow(h); 해당 폼만 앞으로 오게 되어서
B 실행파일의 서브폼(showmodal) 은 뒤로 숨더라구요
작업표시줄에서 클릭하면 B실행파일의 서브품이 앞에 있는 상태에서 나타나는데
아래 소스로는 ... 역부족 (참고로 제가 만드건 작업줄에 실행아이콘이 안뜨게 하고 싶어서)
좋은 방법없을까요?
혹시 고수님들의 좋은 의견 있으시면 꼭 부탁드립니다.
procedure TFM_nrsa0101.Button5Click(Sender: TObject);
var
AppPathOrg
:string;
h:thandle;
begin
h := FindWindow(nil, 'Information');
//중복실행 막음
if h <> 0 then begin
SetForegroundWindow(h);<-----------단순이 폼만 앞으로 옴
h := FindWindow(nil, '사용자검색');
if h <> 0 then begin
SetForegroundWindow(h);
end;
Exit;
end ;
AppPathOrg := ExtractFilePath(Application.ExeName);
WinExec(Pchar(AppPathOrg+'Information.exe'+' '+'TPCON'+' '+
G_USERID+' '+
G_UserPW+' '+''),
SW_SHOWDEFAULT);
end;
GetTopWindow 를 써서 h의 가장 위에 있는 차일드윈도우를 SetForegroundWindow함수로 맨 위로 올려보세요...
^^ 항상 즐코하세요...