Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[3338] [답변] HWASUNG/ 유승우님 재질문/아이콘화되어있는 어
ryusw1 [ ] 1263 읽음    1998-06-18 17:26
program main;

uses
Forms,
Windows,
Main in 'Main.pas' {frmMain};
// dfm이 frmMain이 화면.

{$R *.RES}

var hwndPrev:HWND;
begin                 
hwndPrev:=FindWindow('TfrmMain','Main');
// Findwindow함수 - TfrmMain에서 Main을 찾는다.
// 여기서 기본 화면이 Main인데, Main을 찾을수 없습니다. Main화면을 찾지 못하니까요.(만들어 지지 못했음)
// 밑을 보시면 Application.CreateForm이 있죠? 이때 만들어 집니다.
// 확인을 하고 싶으시면 ShowMessage(IntToStr(hwndPrev))하세요.. 0 이 나옵니다. Handle을 찾지 못함.
// 참고로 Project - Options 에 가시면 Title이 있죠? 그것을 Main으로 꼭 잡아 주세요. Class가 Main이 됩니다.

if hwndPrev <> 0 then begin
  if IsIconic(hwndPrev) then ShowWindow(hwndPrev,SW_RESTORE)
  else SetForegroundWindow(hwndPrev);
  Halt;
end else begin
  Application.Initialize;
  Application.CreateForm(TfrmMain, frmMain);
  Application.Run;
end;
end.


저는 이렇게 했거든요..

program Project1;

uses
  Forms,
  Windows,
  Dialogs,
  sysUtils,
  Unit1 in 'Unit1.pas' {frmMain};

{$R *.RES}

Var
  hwndPrev : HWND;
Begin
  hwndPrev := FindWindow(Nil,'Main');
  //Main이라는 다른 어플 만듬..FindWindow에서 찾을수 있겠죠? (단일 어플이 아닌가?)
  // 어쨌든 IsIconic가 동작 된다는 것을 설명할수 있어요..Show가 되니..

  ShowMessage(IntToStr(hwndPrev));
  // 확인.. 0 이외의 값이 나온다.

  if hwndPrev <> 0 then
    begin
      if IsIconic(hwndPrev) then ShowWindow(hwndPrev,SW_RESTORE)
      else SetForegroundWindow(hwndPrev);
      Halt;
    end
  else
    begin
      Application.Initialize;
      Application.Title := 'Project';
      Application.CreateForm(TfrmMain, frmMain);
      Application.Run;
   end;
end.

위의 형식으로 하면 잘되는데..
그리고 Minimize버튼도 잘 동작 합니다.
저의 경우는 Handle을 잘 찾아 동작을 합니다. (FindWindow를 잘 살펴 보세요..)

그리고 답변이 맘에 안드셨으면...이게 저의 한계니..이해를..

이만.



+ -

관련 글 리스트
3338 [답변] HWASUNG/ 유승우님 재질문/아이콘화되어있는 어 ryusw1 1263 1998/06/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.