میلاد جان اینطور نیست. نرم افزار های مانیتورینگ مختلفی وجود دارند که هیچ حرکتی برای بررسی پورت ها از دستشون در نمیره. علتش هم ساده هست. چون همه ی اپلیکیشن ها از جمله خود اپلیکیشن های ویندوزی، از یه ماژول و پروتکل برای فرستادن پاکت های مربوط به شبکه استفاده می کنند. یعنی همه مجبورن برن سراغ چند تا Dll خود ویندوز و از اونها بخوان، که همون ها نتیجه ی مانیتورینگشون رو در اختیار نرم افزار های دیگه هم قرار می دن. البته از بعد از ویندوز ویستا این قضیه یه خورده فرق کرده اما اصل داستان همونه.
حالا به نظرم میرسه احتمالا مشکل رو پیدا کردم. جالبه بدونید دستور های CMD هم با توجه به ارتقای نسخه های ویندوز، اضافه میشن یا ارتقا پیدا می کنن. اگر شما از دستور های جدید CMD استفاده کرده باشید (که به نظرم میرسه همینطوره)،
نرم افزار شما فقط از ویندوز ویستا به بعد مثل Seven یا 8 کار میکنه.
همین الان روی ویندوز 7 تست کردم و کار کرد.
در ضمن پیشنهاد می کنم حالا که به ظاهر کار اهمیت داده شده، چند تا ویژگی اصولی قرار بدید :
1. در هنگام لود کردن که برنامه Intrupt میشه و کاری نمی کنه تا لیست بیاد، یه پیغام از وضعیت در حال انجام نمایش داده بشه. مثلا : - در حال بارگذاری ... - با موفقیت انجام شد/نشد و ...
2. بشه لینک دانلود رو بدون IDM کپی کرد. چون ممکنه از نرم افزار دانلود دیگه ای بخواد استفاده بشه.
3. طوری کار بشه که روی نسخه های مختلف ویندوز جواب بده / یا در جایی از نرم افزار مثل ReadMe یا هر جایی توضیح داده بشه که این نرم افزار نیازمند پشتیبانی فلان و دسترسی فلان هست.
(تاکید می کنم که اینها ایده های جدید نیستند. همونطور که عرض کردم به نظرم از اصول به حساب میان.)
- برای مورد سوم چند تا راه حل وجود داره؛ اگر از اینترنت پلاگین دل خوشی ندارید، باید بگم که سری دستور های BitsAdmin به صورت پیشفرض روی 7 به بالا کار می کنن چون فایل های مورد نیازش در خود ویندوز قرار دارن، اما برای ویندوز XP SP2 به بالا، خود ویندوز جزو Update ها پیشنهاد میکنه که باشه یا نباشه.
1. حالا می تونید یا خود فایل BITSAdmin.exe رو با پشتیبان های مورد نظرش به برنامه تون پیوست کنید و از اون استفاده کنید.
2. یا از یه ابزار Command-Lined دیگه مثلURL Resume استفاده کنید.
3. یا اصلا اینکار رو با VBScript انجام بدید. مثال :
یک فایل در درایو C ایجاد کنید و نامش رو مثلا downloadfile.vbs قرار بدید. محتویاتش چیزی شبیه این باشه :
کد:
strFileURL = "http://papionbit.com/PAPION.jpg"
strHDLocation = "c:\PAPION.jpg"
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
objXMLHTTP.open "GET", strFileURL, false
objXMLHTTP.send()
If objXMLHTTP.Status = 200 Then
Set objADOStream = CreateObject("ADODB.Stream")
objADOStream.Open
objADOStream.Type = 1
objADOStream.Write objXMLHTTP.ResponseBody
objADOStream.Position = 0
Set objFSO = Createobject("Scripting.FileSystemObject")
If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation
Set objFSO = Nothing
objADOStream.SaveToFile strHDLocation
objADOStream.Close
Set objADOStream = Nothing
End if
Set objXMLHTTP = Nothing
(به جای آدرس هایی که PAPION داره، باید آدرس های مد نظرتون رو قرار بدید.)
بعد اون فایل رو اجرا کنید یا اگر اجرا نشد توسط خود cscript با دستوری شبیه این :
کد:
cscript.exe "c:\downloadfile.vbs"
از طریق Run ویندوز اجراش کنید.
4. و یا پیشنهاد لینک آپدیت BITSAdmin رو برای کاربران Win XP ارائه بدید. حجمش حدود 5 مگ هست. لینک :
http://www.microsoft.com/en-us/download/details.aspx?id=18546
من خودم دانلود و نصبش کردم و حالا برنامه ی شما روی ویندوز XP SP3 من هم کار میکنه.
موفق باشید.