안녕하세요?
취미로 델파이를 연마하는 Hyphen입니다.
폼을 최하위로 위치하기 위하여 다음과 같이 코딩하였습니다.
procedure TMain_Form.FormShow(Sender: TObject);
var
DC : THandle;
begin
// showWindow(Application.Handle, SW_HIDE);
DC := GetWindow(GetWindow(FindWindow('Progman', nil), GW_CHILD), GW_CHILD);
Windows.SetParent(Handle, DC);
end;
그리고나서 버튼을 클릭하여 폼이 재실행 됩니다.
procedure TMain_Form.sbtnReExecClick(Sender: TObject);
begin
Application.Terminate;
ShellExecute(Handle, 'Open', PChar(ParamStr(0)), nil, nil, SW_SHOW);
end;
위의 코드에서 showWindow(Application.Handle, SW_HIDE)를 삭제하니까 원하는 대로 재실행시에도 최하위로 폼이 가는데
문제는 작업표시줄에 나타납니다.
showWindow는 원하는 바때문에 쓸 수가 없습니다.
다른 방법이 있을까요? 어떤 분은 작업표시줄 길이를 0으로 하면 된다고도 하던데.. 어떻게 하는 걸까요?
SetWindowLong은 해 봤는데 안되더라구요.. 사용방법이 틀렸을까요? 자문 부탁드립니다.