امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
تشخیص ارتباط کامپیوتر ها در شبکه ؟
نویسنده پیام
Majid_Ebru آفلاین
كاربر دو ستاره
**

ارسال‌ها: 153
موضوع‌ها: 32
تاریخ عضویت: مرداد ۱۳۸۶

تشکرها : 350
( 59 تشکر در 32 ارسال )
ارسال: #1
تشخیص ارتباط کامپیوتر ها در شبکه ؟
سلام
لطفا کمک کنید!؟!؟
می خوام یه برنامه با دلفی بنویسم که : تشخیص بده که در حال حاضر کامپیوتر مورد استفاده ، کدام کامپیوتر های شبکه رو می بینه ؟مشکل اینه که ما چند تا کامپیوتر دارم که برای کار کردن کل مجموعه تمام کامپیوتر ها باید با بقیه کامپیوتر ها ارتباط داشته با شن ؟ در حال حاضر با استفاده از دستور Ping حدود 10 IP رو توی هر کامپیوتر چک می کنیم که این کار سخت و به نظر من بیهوده است .
می خوام که برنامه ای بنویسم که در یک نگاه بفهمم که با کدام IPها(کامپیوتر ها) ارتباط دارم؟؟
متاسفانه من در مورد کار کردن با شبکه در محیط دلفی آشنا نیستم.
لطفا کمک و یا راهنمای کنید.
با تشکر فراوان

یاس : پس باخت کسی که به حمله نرفت .
احتیاج ، مادر اختراع
۱۲-اردیبهشت-۱۳۸۹, ۱۲:۳۴:۰۵
وب سایت ارسال‌ها
پاسخ
The.Ghost غایب
مدیر بازنشسته
*****

ارسال‌ها: 461
موضوع‌ها: 201
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 674
( 354 تشکر در 158 ارسال )
ارسال: #2
Smile  RE: تشخیص ارتباط کامپیوتر ها در شبکه ؟
بدست آوردن ليست کامپيوتر ها در شبکه
کد:
type
  PNetResourceArray = ^TNetResourceArray;
  TNetResourceArray = array[0..100] of TNetResource;

Function CreateNetResourceList(ResourceType: DWord;
                              NetResource: PNetResource;
                              out Entries: DWord;
                              out List: PNetResourceArray): Boolean;
var
  EnumHandle: THandle;
  BufSize: DWord;
  Res: DWord;
begin
  Result := False;
  List := Nil;
  Entries := 0;
  if WNetOpenEnum(RESOURCE_GLOBALNET,
                  ResourceType,
                  0,
                  NetResource,
                  EnumHandle) = NO_ERROR then begin
    try
      BufSize := $4000;  // 16 kByte
      GetMem(List, BufSize);
      try
        repeat
          Entries := DWord(-1);
          FillChar(List^, BufSize, 0);
          Res := WNetEnumResource(EnumHandle, Entries, List, BufSize);
          if Res = ERROR_MORE_DATA then
          begin
            ReAllocMem(List, BufSize);
          end;
        until Res <> ERROR_MORE_DATA;

        Result := Res = NO_ERROR;
        if not Result then
        begin
          FreeMem(List);
          List := Nil;
          Entries := 0;
        end;
      except
        FreeMem(List);
        raise;
      end;
    finally
      WNetCloseEnum(EnumHandle);
    end;
  end;
end;

procedure ScanNetworkResources(ResourceType, DisplayType: DWord; List: TStrings);

procedure ScanLevel(NetResource: PNetResource);
var
  Entries: DWord;
  NetResourceList: PNetResourceArray;
  i: Integer;
begin
  if CreateNetResourceList(ResourceType, NetResource, Entries, NetResourceList) then try
    for i := 0 to Integer(Entries) - 1 do
    begin
      if (DisplayType = RESOURCEDISPLAYTYPE_GENERIC) or
        (NetResourceList[i].dwDisplayType = DisplayType) then begin
        List.AddObject(NetResourceList[i].lpRemoteName,
                      Pointer(NetResourceList[i].dwDisplayType));
      end;
      if (NetResourceList[i].dwUsage and RESOURCEUSAGE_CONTAINER) <> 0 then
        ScanLevel(@NetResourceList[i]);
    end;
  finally
    FreeMem(NetResourceList);
  end;
end;

begin
  ScanLevel(Nil);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ScanNetworkResources(RESOURCETYPE_DISK, RESOURCEDISPLAYTYPE_SERVER, ListBox1.Items);
end;

Assembly Language 039

۱۲-اردیبهشت-۱۳۸۹, ۲۲:۱۲:۵۲
ارسال‌ها
پاسخ
تشکر شده توسط : lord_viper, veyskarami, Majid_Ebru, 1120
Majid_Ebru آفلاین
كاربر دو ستاره
**

ارسال‌ها: 153
موضوع‌ها: 32
تاریخ عضویت: مرداد ۱۳۸۶

تشکرها : 350
( 59 تشکر در 32 ارسال )
ارسال: #3
RE: تشخیص ارتباط کامپیوتر ها در شبکه ؟
سلام
ممنون از اینکه جواب دادید و ببخشید از اینکه دیر اومدم
اقا شرمنده 3 خط اول برنامه یعنی چی ؟
من توی قسمت type برنامه خطوط دوم و سوم رو نوشتم اما کامپایلر ایراد گرفت هم از " ^ " ( اشاره گر ) و هم از " = " (برابری ).البته من هر چی تلاش کردم متاسفانه جواب نگرفتم.
آقا ببخشید من زیاد حرفه ای نیستم لطفاً راهنمایی کنید.

یاس : پس باخت کسی که به حمله نرفت .
احتیاج ، مادر اختراع
۱۵-اردیبهشت-۱۳۸۹, ۱۲:۴۶:۱۶
وب سایت ارسال‌ها
پاسخ
1120 آفلاین
در حال پیشرفت
***

ارسال‌ها: 313
موضوع‌ها: 49
تاریخ عضویت: دى ۱۳۸۷

تشکرها : 404
( 381 تشکر در 161 ارسال )
ارسال: #4
RE: تشخیص ارتباط کامپیوتر ها در شبکه ؟
سلام دوستان .

من هم به همین کد به زبان ویبی 6 نیاز دارم . کسی میتونه کمک کنه ؟

۱۵-اردیبهشت-۱۳۸۹, ۱۴:۲۵:۱۷
ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #5
RE: تشخیص ارتباط کامپیوتر ها در شبکه ؟
لطفا در بخش مربوطه سوال رو مطرح کنین

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۱۵-اردیبهشت-۱۳۸۹, ۱۷:۱۵:۱۶
وب سایت ارسال‌ها
پاسخ
Majid_Ebru آفلاین
كاربر دو ستاره
**

ارسال‌ها: 153
موضوع‌ها: 32
تاریخ عضویت: مرداد ۱۳۸۶

تشکرها : 350
( 59 تشکر در 32 ارسال )
ارسال: #6
RE: تشخیص ارتباط کامپیوتر ها در شبکه ؟
سلام
خواهش میکنم به بی راه نرید و باز هو خواهش می کنم جواب بدید.

یاس : پس باخت کسی که به حمله نرفت .
احتیاج ، مادر اختراع
۱۸-اردیبهشت-۱۳۸۹, ۱۲:۳۸:۰۶
وب سایت ارسال‌ها
پاسخ
The.Ghost غایب
مدیر بازنشسته
*****

ارسال‌ها: 461
موضوع‌ها: 201
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 674
( 354 تشکر در 158 ارسال )
ارسال: #7
RE: تشخیص ارتباط کامپیوتر ها در شبکه ؟
سلام:
فقط کافی است تمام کد ها را زیر بخش implementation بنویسی.
البته این دستور هم باید در یک دکمه نوشته شود. با دلفی 7 و 2009 این تابع هیچ پیغام خطایی نمی دهد.
کد:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ScanNetworkResources(RESOURCETYPE_DISK, RESOURCEDISPLAYTYPE_SERVER, ListBox1.Items);
end;

Assembly Language 039

۱۸-اردیبهشت-۱۳۸۹, ۱۲:۵۲:۰۳
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  تشخیص Hibernate/Sleep The.Ghost 1 1,859 ۲۲-شهریور-۱۳۹۴, ۱۴:۱۲:۳۰
آخرین ارسال: lord_viper
  تشخیص فشردن کلید های کیبورد موقعی که فرم فوکوس نداره siroosss 4 3,377 ۲۷-مهر-۱۳۹۲, ۱۴:۴۶:۳۱
آخرین ارسال: veyskarami
Question تغییر دادن مک آدرس کارت شبکه! The.Ghost 4 5,453 ۱۳-اسفند-۱۳۹۱, ۰۲:۳۶:۰۰
آخرین ارسال: The.Ghost
Question [سوال] ديسكانت شدن بي دليل يك ارتباط TCP joker 13 11,712 ۲۷-مرداد-۱۳۹۰, ۱۸:۰۷:۰۴
آخرین ارسال: joker
  تشخیص درایو مجازی توسط برنامه KajDom 3 4,122 ۱۹-مهر-۱۳۸۹, ۱۰:۱۰:۵۲
آخرین ارسال: lord_viper
  ایجاد امنیت و برقراری ارتباط با SQL Server (در دلفی) Pr0grammer 0 4,210 ۲۰-تير-۱۳۸۹, ۱۱:۱۰:۲۷
آخرین ارسال: Pr0grammer
Rolleyes ارتباط با دیتابیس The.Ghost 1 2,907 ۲۵-اردیبهشت-۱۳۸۹, ۱۱:۰۱:۱۸
آخرین ارسال: lord_viper
Rolleyes ارتباط به اینترنت The.Ghost 1 2,754 ۲۲-اردیبهشت-۱۳۸۹, ۲۳:۲۴:۳۰
آخرین ارسال: lord_viper
  ارتباط با پورت سریال : The.Ghost 2 5,015 ۱۰-بهمن-۱۳۸۸, ۱۰:۴۰:۳۲
آخرین ارسال: lord_viper
Question ارتباط دلفی با دیتابیسی که آپلود شده است؟ The.Ghost 3 5,026 ۱۴-آذر-۱۳۸۸, ۱۸:۱۱:۴۴
آخرین ارسال: lord_viper

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 3 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS