Q&A

  • 방금 실행한 프로그램의 핸들을 알려면?
방랑자 아이언입니다..

DB프로그램 하다가 SYSTEM쪽으로 하려다 보니까..

막막하네여!~

------------------------------------------------------------------------

델파이이에서 외부 프로그램을 실행합니다.

예: winexec(programfile,SH_HIDE);



그리고 실행한 직후에 바로 그 프로그램의 핸들을 알수 있을까요?

(물론 핸들 대신에 클래스명을 알수 있어도 됩니다..->이거면..핸들명 알수 있잖아요)



단, 클래스명이나 텍스트이름을 모른다는 조건하에 말입니다.

---------------------------------------------------------------------------

여러번..비슷한 질문을 올렸지만..

답이 없어서..막막합니다..



ㅠ.ㅠ 헬프미 프릴즈!~~~~~~~~~~~~





6  COMMENTS
  • Profile
    타락천사 2000.11.09 20:21
    안녕하세여..타락임다..^^



    WinExec()의 리턴값이 실행시킨 윈도우 핸들일겁니다..



    아마 맞을 겁니다.



    즐푸하세여..



    타락천사....^^



  • Profile
    아이언 2000.11.09 20:44
    우선 답변 감사합니다.



    리턴값이 핸들은 핸들인데...

    Process가 실행되어진 핸들값인것 같군요..



    HWND 타입의 핸들값이 필요한데..다른거 없을까요?



    ----------------------------------------------------

    타락천사 wrote:

    > 안녕하세여..타락임다..^^

    >

    > WinExec()의 리턴값이 실행시킨 윈도우 핸들일겁니다..

    >

    > 아마 맞을 겁니다.

    >

    > 즐푸하세여..

    >

    > 타락천사....^^

    >

  • Profile
    타락천사 2000.11.09 23:12
    안녕하세여..타락임다...^^;;;



    같은 건데여..--;;



    리턴값이 HWND 타입의 핸들입니다..



    Windows 유닛에 정의된 걸 보면..



    type

    HWND = type LongWord;



    즐푸하세여.



    타락천사...



  • Profile
    아이언 2000.11.09 23:52
    천사님 말씀이 맞다면..

    Var

    hApp : HWND;

    begin

    hApp := WinExec('IEFrame',SW_HIDE);



    Windows.SetParent( hApp, Handle );

    //응용프로그램 크기 설정

    SetWindowPos( hApp,HWND_TOP,pnOl.Width, coolbtn

    .Height, clientwidth-pnOl.Width, clientheight-CoolBtn.Height, SWP_SHOWWINDOW );



    end;



    위와 같이 하면..제 MDI Form 쏙하고 들어 와야 하는 거 아닌가요?



    근데..안 들어와요..



    FindWindow함수로 찾아서..hApp값을 비교해 보면 또 서로 값이 틀리구요..



    쩝..좋은 방법이 없을까요.?

    고민하게 해서.. 죄송합니다..















    타락천사 wrote:

    > 안녕하세여..타락임다...^^;;;

    >

    > 같은 건데여..--;;

    >

    > 리턴값이 HWND 타입의 핸들입니다..

    >

    > Windows 유닛에 정의된 걸 보면..

    >

    > type

    > HWND = type LongWord;

    >

    > 즐푸하세여.

    >

    > 타락천사...

    >

  • Profile
    컴맹 2000.11.09 18:40
    안녕하세여..?

    그럴때는

    요걸 쓰면 되죠..

    procedure 윈도우 찾기

    ProHandle : HWND;

    begin

    ProHandle:=FindWindow(class name,windowname);

    end;



    요렇게 하면 핸들을 갖어오죠..

    class name : 메인 폼의 class name

    window name : 메인폼의 caption 을 주면 됩니다...







    아이언 wrote:

    > 방랑자 아이언입니다..

    > DB프로그램 하다가 SYSTEM쪽으로 하려다 보니까..

    > 막막하네여!~

    > ------------------------------------------------------------------------

    > 델파이이에서 외부 프로그램을 실행합니다.

    > 예: winexec(programfile,SH_HIDE);

    >

    > 그리고 실행한 직후에 바로 그 프로그램의 핸들을 알수 있을까요?

    > (물론 핸들 대신에 클래스명을 알수 있어도 됩니다..->이거면..핸들명 알수 있잖아요)

    >

    > 단, 클래스명이나 텍스트이름을 모른다는 조건하에 말입니다.

    > ---------------------------------------------------------------------------

    > 여러번..비슷한 질문을 올렸지만..

    > 답이 없어서..막막합니다..

    >

    > ㅠ.ㅠ 헬프미 프릴즈!~~~~~~~~~~~~

    >

    >

  • Profile
    이경문 2000.11.09 17:58
    FindWindow를 사용해 보세여.

    VC++의 Spy를 사용하시면 제대로 알 수 있을 겁니다.



    아이언 wrote:

    > 방랑자 아이언입니다..

    > DB프로그램 하다가 SYSTEM쪽으로 하려다 보니까..

    > 막막하네여!~

    > ------------------------------------------------------------------------

    > 델파이이에서 외부 프로그램을 실행합니다.

    > 예: winexec(programfile,SH_HIDE);

    >

    > 그리고 실행한 직후에 바로 그 프로그램의 핸들을 알수 있을까요?

    > (물론 핸들 대신에 클래스명을 알수 있어도 됩니다..->이거면..핸들명 알수 있잖아요)

    >

    > 단, 클래스명이나 텍스트이름을 모른다는 조건하에 말입니다.

    > ---------------------------------------------------------------------------

    > 여러번..비슷한 질문을 올렸지만..

    > 답이 없어서..막막합니다..

    >

    > ㅠ.ㅠ 헬프미 프릴즈!~~~~~~~~~~~~

    >

    >

    • 권영길
      2000.11.09 22:42
      FASTNet의 NMHTTP를 이용하시거나 ICS, INDY콤포넌트를 이용하세요. 깡초보 wrote: > Form에서 Edit컴...
    • 깡초보
      2000.11.10 23:49
      권영길 wrote: > FASTNet의 NMHTTP를 이용하시거나 ICS, INDY콤포넌트를 이용하세요. > > 깡초보 wrote...
    • 권영길
      2000.11.11 00:10
      팔레트에 올라갑니다. 일반적인 콤포넌트 등록과정과 동일 할 겁니다. source에 보면 dpk가 있을텐데요. ...
    • 깡초보
      2000.11.11 02:39
      그런데 dpk파일을 연다음 컴파일하고 인스톨하는데 IdWinSock이 dclusr50 패키지에 포함이 되있다고 하면서...
    • 궁금이
    • 2000.11.09 20:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 컴맹II
      2000.11.11 19:24
      강제로 값을 바꾸게 되면... 커서는 젤 앞으로 갑니다... 잘 생각은 안 나지만... Edit1.SelStar...
    • 잠씨
    • 2000.11.09 20:21
    • 0 COMMENTS
    • /
    • 0 LIKES
    • soriso
      2000.11.09 19:40
      이승윤 wrote: > 어떤 테이블에서 동일한 값을 가진 데이타를 검색하려 합니다. > 예를 들어서 ITEM 테이...
    • raeganja
    • 2000.11.09 18:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이형섭
      2000.11.09 19:07
      raeganja wrote: > 안녕하세요....고수님들ㅇ.... > 제가 질문할 내용은요...다름이 아니라...ADO에서 아...
    • 아이언
    • 2000.11.09 17:49
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 타락천사
      2000.11.09 20:21
      안녕하세여..타락임다..^^ WinExec()의 리턴값이 실행시킨 윈도우 핸들일겁니다.. 아마 맞을 겁니다....
    • 아이언
      2000.11.09 20:44
      우선 답변 감사합니다. 리턴값이 핸들은 핸들인데... Process가 실행되어진 핸들값인것 같군요.. HW...
    • 타락천사
      2000.11.09 23:12
      안녕하세여..타락임다...^^;;; 같은 건데여..--;; 리턴값이 HWND 타입의 핸들입니다.. Windows 유...
    • 아이언
      2000.11.09 23:52
      천사님 말씀이 맞다면.. Var hApp : HWND; begin hApp := WinExec('IEFrame',SW_HIDE); Win...
    • 컴맹
      2000.11.09 18:40
      안녕하세여..? 그럴때는 요걸 쓰면 되죠.. procedure 윈도우 찾기 ProHandle : HWND; begin P...
    • 이경문
      2000.11.09 17:58
      FindWindow를 사용해 보세여. VC++의 Spy를 사용하시면 제대로 알 수 있을 겁니다. 아이언 wrote: > ...
    • 권영길
      2000.11.09 19:16
    • 델초보
      2000.11.10 02:20
    • 권영길
      2000.11.10 04:01
    • 델초보
      2000.11.10 05:08
    • 권영길
      2000.11.10 06:02
    • 이경문
      2000.11.09 17:44
      uses절에 MMSystem 추가. procedure TForm1.Button1Click(Sender: TObject); begin sndPlaySound('t...
    • 델파이군
      2000.11.09 09:29
      // FromCreate 이벤트에 코딩을 해주시면 폼 생성시 Wave파일이 출력됩니다. procedure TForm1.FormCreate...
    • volf
      2000.11.09 10:19
      말씀하신대로 하니 [Error] Unit1.pas(29): Undeclared identifier: 'mciSendString' 라는 에러가 생깁...
    • 김종근
    • 2000.11.09 07:46
    • 1 COMMENTS
    • /
    • 0 LIKES
    • sunny
      2001.10.26 06:27
      김종근 wrote: > > > ActiveX에 있는 VtChart의 Row 및 Column이 6줄,5칸이상 늘어나지 않는군요. ...
    • 권민호
      2000.11.09 07:53
      델맹 wrote: > 실행화일 있는 디렉을.. > C:ProgrmaFileshooing 라고 치구요. > 해당 파일이 있는곳은.....
    • 델맹
      2000.11.09 08:11
      권민호 wrote: > 델맹 wrote: > > 실행화일 있는 디렉을.. > > C:ProgrmaFileshooing 라고 치구요. > >...
    • 권민호
      2000.11.09 08:27
      델맹 wrote: > 권민호 wrote: > > 델맹 wrote: > > > 실행화일 있는 디렉을.. > > > C:ProgrmaFileshoo...
    • 타락천사
      2000.11.09 20:25
      안녕하세여..타락임다..^^ 두가지 방법이 있어여.. 첫번째가, 어플의 메세지큐를 검사하는 것이고, ...
    • 정영훈
      2000.11.09 08:07
      장민우 wrote: > while 문으로 무한 Loop 를 돌렸을 때 다른 Event 를 받을 수 있는 방법을 가르쳐 주세...
    • 이경문
      2000.11.09 17:46
      쓰레드를 이용하는 방법이 정석이지여. 하지만 Application.ProcessMessages(현재 어플 메세제 큐에 처리...
    • david
      2000.11.09 19:43
      bmHeader : TBitmapFileHeader; bmInfo : TBitmapInfo; 이렇게 선언하구요... 화일을 읽어서 순차적...
    • 바사기몬
      2000.11.09 08:05
      원하시는게 에디트박스에서 입력된 내용이 엔터키를 끝으로 table의 filter에 들어가게 하신다면... ...
    • Mr.Q
      2000.11.09 18:25
      아기코알라 wrote: > 먼저 강인규님 과 오태양님 답변 정말 고맙습니다 > > mrOK버턴과 enter키가 같은...
    • Jonny
    • 2000.11.09 05:10
    • 3 COMMENTS
    • /
    • 0 LIKES
    • Mr.Q
      2000.11.09 06:14
      Jonny wrote: > 리스트박스에서 스트링리스트들을 읽어 올때 스페이스 다음 부터 읽을 수 없을 까요...? ...
    • 바사기몬
      2000.11.09 05:39
      리스트박스1에서 리스트박스2로 스페이스 이후를 옮기는 예제입니다.. 너무 긴가요..^^; ...응용하시면 ...
    • 남기석
      2000.11.09 05:31
      안녕하세요 청개구리 남기석( http://www.delphitravel.com )입니다. 어제도 이 비슷한 걸 질문하신 분...
    • 뜨아악
    • 2000.11.09 04:21
    • 3 COMMENTS
    • /
    • 0 LIKES
    • Mr.Q
      2000.11.09 06:27
      뜨아악 wrote: > > table에서 type을 money로 주었습니다. > 모니터 화면에서는 에서는 자동으로 앞에 ...
    • 뜨아악
      2000.11.10 01:10
      저기요.. 답변주신건 감사한데. 제가 아직 초보걸랑요.. 좀더 자세히 Currency 속성은 어디서 어케 지...
    • Mr.Q
      2000.11.10 03:21
      뜨아악 wrote: > 저기요.. > 답변주신건 감사한데. > 제가 아직 초보걸랑요.. > 좀더 자세히 > Curre...