Q&A

  • 네트웍환경의 다른 컴퓨터 이름읽기
윈도95의 바탕화면에 있는 네트워크 환경처럼 LAN으로 연결된 컴퓨터들의

컴퓨터 이름을 읽어오는 방법을 알고 싶습니다.

그리고 읽어온 컴퓨터 이름을 가지고 서로 컴퓨터간의 통신이 가능한 방법도

부탁드립니다.

1  COMMENTS
  • Profile
    김영대 1999.04.23 21:07
    이상준 wrote:

    > 윈도95의 바탕화면에 있는 네트워크 환경처럼 LAN으로 연결된 컴퓨터들의

    > 컴퓨터 이름을 읽어오는 방법을 알고 싶습니다.

    > 그리고 읽어온 컴퓨터 이름을 가지고 서로 컴퓨터간의 통신이 가능한 방법도

    > 부탁드립니다.



    안녕하세요 김영대입니다



    원도우즈 네트워크 환경의 컴퓨터 리스트를 구하는 내부

    통신 프로토콜은 TCP/IP가 아닌 BetBEUI 를 사용합니다

    하지만 컴퓨터간의 통신 프로그램을 직접 작성하셔야 한다면

    TCP/IP 를 사용하는 것이 일반적이고 TCP/IP 에서는

    IP 주소를 리스트 형태로 다 주는건 없고 하나하나 검사해야 합니다



    아래 예제는 원도우즈 네트워크 환경의 컴퓨터 리스트를 구하는 예제입니다

    그리고 제 홈페이지(myhome.shinbiro.com/~cozykyd) 의 자료실 4 에 보시면

    "상대방 컴퓨터 이름으로 IP주소 구하기 (반대도 가능)" 자료가 있는데

    이건 컴퓨터 이름으로 IP를 구하고 그 반대의 기능도 가능한 예제입니다

    아래 예제와 자료실의 소스를 참고하시면 구현하실 수 있을겁니다

    그럼 수고하세요



    unit Unit1;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls;



    type

    TForm1 = class(TForm)

    LB_UserList: TListBox;

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    ServerName: String;

    function GetNetworkUserName: Boolean;

    end;



    PnetResourceArr = ^TNetResource;



    var

    Form1: TForm1;



    implementation

    {$R *.DFM}



    function TForm1.GetNetworkUserName: Boolean;

    var

    NetResource: TNetResource;

    Buf:Pointer;

    Count, BufSize, Res: DWORD;

    i: Integer;

    lphEnum: THandle;

    p: PnetResourceArr;

    begin

    GetNetworkUserName := False;

    LB_UserList.Clear;

    GetMem(Buf, 8192);

    try

    FillChar(NetResource, SizeOf(NetResource), 0);

    NetResource.lpRemoteName := PChar(ServerName);

    NetResource.dwDisplayType := RESOURCEDISPLAYTYPE_SERVER;

    NetResource.dwUsage := RESOURCEUSAGE_CONTAINER;

    NetResource.dwScope := RESOURCETYPE_DISK;

    Res := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK, RESOURCEUSAGE_CONTAINER,

    @NetResource,lphEnum);

    if Res <> 0 then

    System.Exit;

    while true do

    begin

    Count := -1;

    BufSize := 8192;

    Res := WNetEnumResource(lphEnum, Count, Pointer(Buf), BufSize);

    if Res = ERROR_NO_MORE_ITEMS then

    System.Exit;

    if (Res <> 0) then

    System.Exit;

    p := PNetResourceArr(Buf);

    for i := 0 to Count - 1 do

    begin

    LB_UserList.Items.Add(p^.lpRemoteName + 2);

    Inc(p);

    end;

    end;

    Res := WNetCloseEnum(lphEnum);

    If Res <> 0 then

    raise Exception(Res);

    finally

    FreeMem(Buf);

    GetNetworkUserName := True;

    end;

    end;



    procedure TForm1.Button1Click(Sender: TObject);

    begin

    ServerName := '전산운영팀'; // 네트워크 환경의 작업그룹명

    if GetNetworkUserName then

    Showmessage('총 '+IntToStr(LB_UserList.Items.Count)+' 개의 개체가 있습니다')

    else

    Showmessage('정보를 얻지 못했습니다');

    end;



    end.



    • 박상현
    • 1999.04.24 23:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.25 08:02
      리스트에 없는 인덱스를 가리켰기 때문에 난 에러 입니다. 예를들면 리스트에 들어있는 아이템의 갯수가 3...
    • 한태진
      1999.04.25 04:23
      WhiteDragon wrote: > 제가 변환할려는 것은 도스용 dbf화일을 델파이 파라독스 화일인 db로 전환할려고 ...
    • 박홍석
    • 1999.04.24 20:25
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 강두헌
      1999.04.27 22:14
      박홍석 wrote: > 안녕하세요. > > 날짜형 필드를 가지고 쿼리하는 방법을 알고 싶습니다. > 여러가지...
    • 신인재
      1999.04.26 21:03
      박홍석 wrote: > 안녕하세요. > > 날짜형 필드를 가지고 쿼리하는 방법을 알고 싶습니다. > 여러가지...
    • 이헌
    • 1999.04.24 18:48
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.24 20:15
      TextOut의 마지막 인자는 String형입니다. 기본적으로 델파이 32비트에서는 String형의 길이는 제한이 없...
    • 박광호
    • 1999.04.24 18:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.24 20:32
      폼 이름이 Form2라고 가정을 하고 Form2는 TForm형이라고 가정을 할때, Form2 := TForm.Create(Self); ...
    • 김성희
    • 1999.04.24 09:25
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.24 12:05
      김성희 wrote: > 독립된 프로그램 사이에서 파라메터가 이동할수 있는 방법이나요? > 있다면 어떤방법인...
    • 박홍석
    • 1999.04.24 06:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.04.24 07:30
      박홍석 wrote: > 안녕하세요. > > 콤보박스를 펼쳐서 마우스로 아이템을 선택할려고 이동중일때 > 그 ...
    • 김경수
    • 1999.04.24 05:42
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.24 08:09
      이 문제의 키는 Font.Height 에 있습니다. 화면이 72 DPI일 경우 Font.Height 의 공식은 아래와 같습니다....
    • 김경수
      1999.04.24 12:42
      안녕하세요. 김경수입니다. 에구 size로 하니까 아래와 같은 문제가 없어지더군요. 답변 감사드립니다. ...
    • 김영회
    • 1999.04.24 04:00
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.24 08:11
      다른곳에서 잘되었다면 삼보에서도 잘 되어야 겠죠. 델파이와 BDE의 관계중 하나 가능성이 있는것이라면 ...
    • 초보자
    • 1999.04.24 02:28
    • 2 COMMENTS
    • /
    • 0 LIKES
    • chaser
      1999.04.24 03:24
      초보자 wrote: > 윈도우의 탐색기 처럼 한 폼에서 여러개의 부분으로 구분된 폼을 만들고 싶습니다. 어떻...
    • 초보자
      1999.04.24 21:53
      답변에 감사드립니다 한가지 더 질문올립니다. 화면을 양쪽으로 분할하는것은 이제 알았습니다. 그러면 ...
    • 손진운
    • 1999.04.24 02:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.24 04:32
      AsyncProfessional이라는 컴포넌트가 지원합니다. 유료구요... 구입문의는 나이렉스로 문의 바랍니다. 5...
    • 송동일
    • 1999.04.24 01:05
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.24 04:35
      송동일 wrote: > 델파이로 사다리 프로그램을 짜볼려고 하는데... > 통 감이 안 잡히네요... > 학교 다...
    • chaser
    • 1999.04.23 23:44
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 한승현
    • 1999.04.23 23:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.24 04:34
      한승현 wrote: > > dpk, dpl이 아닌 개별적인 파일(pas)을 가지고 하나씩 > component를 install시키...
    • 공대규
    • 1999.04.23 22:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.23 23:23
      공대규 wrote: > 안녕하십니까요? > > PaintBox에 Image1.canvas를 카피하려 할 때, 에러가 납니다. >...
    • 이민병
    • 1999.04.23 19:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김경수
      1999.04.24 05:06
      안녕하세요 김경수라는 사람입니다. 전 nt용 오라클8하구 델파이4랑 해봤는데 뭐 같은내용이겠지요.. 오...
    • 이상준
    • 1999.04.23 18:51
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.04.23 21:07
      이상준 wrote: > 윈도95의 바탕화면에 있는 네트워크 환경처럼 LAN으로 연결된 컴퓨터들의 > 컴퓨터 이름...
    • 배리스
    • 1999.04.23 06:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.23 07:08
      파워러브 델파이 창간호의 일부 입니다~ 1. 현재 라인번호 알아내기 메모에서 현재 Caret이 위치하...