امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 1
  • 1
  • 2
  • 3
  • 4
  • 5
آیپی
نویسنده پیام
The.Ghost غایب
مدیر بازنشسته
*****

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

تشکرها : 674
( 354 تشکر در 158 ارسال )
ارسال: #1
Question  آیپی
با سلام:
می خواستم بدونم که چه شکلی می تونم با دلفی برنامه ای بنویسم.
که آیپی کامپیوتر خودم را عوض کنم.
باتشکر.

Assembly Language 039

۱۱-مهر-۱۳۸۸, ۰۱:۲۶:۴۵
ارسال‌ها
پاسخ
The.Ghost غایب
مدیر بازنشسته
*****

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

تشکرها : 674
( 354 تشکر در 158 ارسال )
ارسال: #2
RE: آیپی
با سلام من کد اش را پیدا کردم ولی طریقه استفاده کردن را بلد نیستم لطفا راهنمایی کنید.
کد:
uses ComObj, ActiveX, UrlMon;

// ======================================================================
// SetIpConfig()
// Set IPAddress, Gateway and Subnetmask via WMI
// Arguments ...
// AIpAddress - If Null String or 'DHCP' then DHCP is ENABLED
//              else STATIC IP is set.
// AGateWay   - [Optional] If Omitted then GATEWAY is left unchanged.
// SubnetMask - [Optional] If Omited then default = '255.255.255.0'.
//
// SetDnsServers()
// Set  DNS Servers via WMI
// Arguments ...
// APrimaryDNS   - If Null String then DNS Server List is CLEARED.
// AAlternateDNS - [Optional]
//
// Return Values ...
//   0 Successful completion, no reboot required.
//   1 Successful completion, reboot required.
//  -1 Unknown OLE Error
//  64 Method not supported on this platform.
//  65 Unknown failure.
//  66 Invalid subnet mask.
//  67 An error occurred while processing an instance that was returned.
//  68 Invalid input parameter.
//  69 More than five gateways specified.
//  70 Invalid IP address.
//  71 Invalid gateway IP address.
//  72 An error occurred while accessing the registry for the info.
//  73 Invalid domain name.
//  74 Invalid host name.
//  75 No primary or secondary WINS server defined.
//  76 Invalid file.
//  77 Invalid system path.
//  78 File copy failed.
//  79 Invalid security parameter.
//  80 Unable to configure TCP/IP service.
//  81 Unable to configure DHCP service.
//  82 Unable to renew DHCP lease.
//  83 Unable to release DHCP lease.
//  84 IP not enabled on adapter.
//  85 IPX not enabled on adapter.
//  86 Frame/network number bounds error.
//  87 Invalid frame type.
//  88 Invalid network number.
//  89 Duplicate network number.
//  90 Parameter out of bounds.
//  91 Access denied.
//  92 Out of memory.
//  93 Already exists.
//  94 Path, file, or object not found.
//  95 Unable to notify service.
//  96 Unable to notify DNS service.
//  97 Interface not configurable.
//  98 Not all DHCP leases could be released or renewed.
//  100 DHCP not enabled on adapter.
// ======================================================================


// ==================================================================
// IP Address,Gateway and Subnet Mask
// EnableStatic takes array of string as a parameter
// for the Addresses. You may wish to rewrite this using
// array of string as parameter for multiple IP Addresses.
// I only have use for 1 IP address and Gateway in our application
// but it's nice to be able to expand it for other users.
// ==================================================================

function SetIpConfig(const AIpAddress : string;
                     const AGateWay : string = '';
                     const ASubnetMask : string = '') : integer;
var Retvar : integer;
    oBindObj : IDispatch;
    oNetAdapters,oNetAdapter,
    oIpAddress,oGateWay,
    oWMIService,oSubnetMask : OleVariant;
    i,iValue : longword;
    oEnum : IEnumvariant;
    oCtx : IBindCtx;
    oMk : IMoniker;
    sFileObj : widestring;
begin
  Retvar := 0;
  sFileObj := 'winmgmts:\\.\root\cimv2';

  // Create OLE [IN} Parameters
  oIpAddress := VarArrayCreate([1,1],varOleStr);
  oIpAddress[1] := AIpAddress;
  oGateWay := VarArrayCreate([1,1],varOleStr);
  oGateWay[1] := AGateWay;
  oSubnetMask := VarArrayCreate([1,1],varOleStr);
  if ASubnetMask = '' then
    oSubnetMask[1] := '255.255.255.0'
  else
    oSubnetMask[1] := ASubnetMask;

  // Connect to WMI - Emulate API GetObject()
  OleCheck(CreateBindCtx(0,oCtx));
  OleCheck(MkParseDisplayNameEx(oCtx,PWideChar(sFileObj),i,oMk));
  OleCheck(oMk.BindToObject(oCtx,nil,IUnknown,oBindObj));
  oWMIService := oBindObj;

  oNetAdapters := oWMIService.ExecQuery('Select * from ' +
                                        'Win32_NetworkAdapterConfiguration ' +
                                        'where IPEnabled=TRUE');
  oEnum := IUnknown(oNetAdapters._NewEnum) as IEnumVariant;

  while oEnum.Next(1,oNetAdapter,iValue) = 0 do begin
    try
      // Set by DHCP ? (Gateway and Subnet ignored)
      if (AIpAddress = '') or SameText(AIpAddress,'DHCP') then
        Retvar := oNetAdapter.EnableDHCP
      // Set via STATIC ?
      else begin
        Retvar := oNetAdapter.EnableStatic(oIpAddress,oSubnetMask);
        // Change Gateway ?
        if (Retvar = 0) and (AGateWay <> '') then
          Retvar := oNetAdapter.SetGateways(oGateway);

        // *** This is where we need some sort of ***
        // *** Network Mapped Resource Refresh    ***
      end;
    except
      Retvar := -1;
    end;

    oNetAdapter := Unassigned;
  end;

  oGateWay := Unassigned;
  oSubnetMask := Unassigned;
  oIpAddress := Unassigned;
  oNetAdapters := Unassigned;
  oWMIService := Unassigned;
  Result := Retvar;
end;

Assembly Language 039

(آخرین ویرایش در این ارسال: ۱۲-مهر-۱۳۸۸, ۲۱:۱۰:۱۴، توسط The.Ghost.)
۱۲-مهر-۱۳۸۸, ۲۱:۰۷:۱۴
ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

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

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #3
RE: آیپی
شما اول تو dosبزن ipconfig
بعد اینتر کن اونجا اطلاعات
مورد نظر برای پاس دادن به این تابع رو میتونی بدست بیاری مثل
IpAddress
GateWay
SubnetMask
۱۳-مهر-۱۳۸۸, ۰۰:۲۱:۰۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : The.Ghost


پرش به انجمن:


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

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