ايران ويج

نسخه‌ی کامل: گرفتن آي پي
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
چه طوري مي شه آي پي كامپيوتر را گرفت؟؟؟؟؟؟؟
من از راه داس رفتم كه اين كد را نوشتم
Public Function GetIP()
Dim Address As String
Dim s As String
Address = Environ("Systemroot") & "\5.bat"
Open Address For Output As #1
Print #1, "ipconfig>7.txt"
Close #1
Shell Address
s = Space(FileLen(Environ("Systemroot") & "\7.txt"))
Open Environ("Systemroot") & "\7.txt" For Binary As #1
Get #1, , s
Close #1
GetIP = Form1.Between(1, s, "IP Address. . . . . . . . . . . . : ", vbCrLf)
GetIP = s

Kill Environ("Systemroot") & "\7.txt"
Kill Address
End Function
ولي ارور داد يعني وقتي دستور اجرا مي شه اون فايل 7.txt بلاغفاصله ساخته نمي شود و ارور مي ده.
چه كار كنم
راستي بدون دي ال ال و تجهيزات مي خوام آي پي بگيرم نه با Winsock
مرسي
يسري توابع API هست مثل

کد:
Private Declare Function GetIpAddrTable Lib "IPHLPAPI.dll" (ByRef pIpAddrTable As PMIB_IPADDRTABLE, ByRef pdwSize As Long, ByVal border As Long) As Long
Private Declare Function GetIpForwardTable Lib "IPHLPAPI.dll" (ByRef pIpForwardTable As PMIB_IPFORWARDTABLE, ByRef pdwSize As Long, ByVal border As Long) As Long
Private Declare Function GetIpNetTable Lib "IPHLPAPI.dll" (ByRef pIpNetTable As PMIB_IPNETTABLE, ByRef pdwSize As Long, ByVal border As Long) As Long
Private Declare Function GetIpStatistics Lib "IPHLPAPI.dll" (ByRef pStats As PMIB_IPSTATS) As Long
سلام
بسيار مچكر درست شد .
ولي مي شه اونم بررسي كنيد كه چه كار بايد كرد كه وقتي يه دستور داس مثلا ipconfig >3.txt را زد از محتواي 3.txt استفاده كرد.
بازم تشكر
باي
دوست من سلام

يه راهش كه مشكل رو حل ميكنه اينه كه از دستور SHELL براي اجرا استفاده نكني بلكه خودت با تابع CreateProcess يه پروسه كاري كنسول بسازي ! بعد با تابع WaitForSignalObject برنامه فعلي يا Thread فعلي رو نگه داري تا اون اون پروسه كنسول كه وظيفه اجراي دستورات رو داره به پايان برسه و Process فعلي رو signal كنه . بعد خود تابع WaitForSignalObjec برنامه فعلي يا Thread فعلي رو از حالت متوقف با حالت اجرا درمياره و شما ميتوني كه مقادير توي فايل هاي ايجاد شده رو بخوني !
البته رفتن اين مسير و برخورد با تابع CreateProcess بسيار پيچيده هست و كار با اون سخته ! بهتره كه از همون توابعي كه گفته شد استفاده كنيد ! :!:
مرسي از توضيحاتتون دنبال همين بودم
اين موارد براي استفاده از ديگر دستورات داس مفيد است
مرسي
باي