آژانس هواپیمایی
tanki

لطفا راهنمایی کنید ارتباط یک ریموت با پورت کام vb6

شروع موضوع توسط aliali1 ‏10 نوامبر 2007 در انجمن Visual Basic 6

  1. aliali1

    aliali1 Guest

    تاریخ عضویت:
    ‏12 فوریه 2006
    نوشته ها:
    14
    تشکر شده:
    0
    :(:blink::(:(:wacko:
    سلام
    دوستان عزیزم من میخواهم با یک ریموت که به پورت کام وصل می شه و ویندوز را شات دان می کنه حا لا لطفا بگید چه طور می توانم با پورت کام ارتباط برقرار کنم و با تغییر دادهها از پورت عمل شات دان انجام شود لطفا با کد راهنمایی کنید از شما عزیزان متشکرم
     
  2. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,358
    تشکر شده:
    1,347
    محل سکونت:
    یه خورده اونورتر
    یه سیگنال بفرست به پورت. از داخل ویبی چکش کن و با تابع API شات داون کن.
     
  3. aliali1

    aliali1 Guest

    تاریخ عضویت:
    ‏12 فوریه 2006
    نوشته ها:
    14
    تشکر شده:
    0
    نه دوست عزیز ریموت اماده می باشد و کد شات دان من هم کار می کند مشکل من این که می شود با دستور MSComm1 و ایونتش که پورت کام با سیگنال تغییر کرد شات دان بشه میشود از این دستور استفاده کرد چون من فکر میکنم که این دستور مال شبکه می باشد و نمی شود با یک تغییر سیگنال ما کار بکند لطفا با کد بگویید
     
  4. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,358
    تشکر شده:
    1,347
    محل سکونت:
    یه خورده اونورتر
    والا من این دستور رو نمیدونم. شاید بچه ها بدونن من شبکه زیاد کار نکردم. منتها اگر Input پورت رو مانیتور کنید میتونید با گرفتن سیگنال از داخل ویبی، بوسیله دستور API هم شات داون کنید.
    دستورش رو گوگل کنید وجود داره:
    http://www.google.com/search?num=100&hl=en&rls=com.microsoft%3Aen-US&q=vb6+shutdown
     
  5. aliali1

    aliali1 Guest

    تاریخ عضویت:
    ‏12 فوریه 2006
    نوشته ها:
    14
    تشکر شده:
    0
    اين كنترلMSComm يه سري event داره که باید بررسی کنی.
    واسه اینکه ببینی درخواستی اومده یا نه میتونی از این دستور تو روال OnCom کنترلت استفاده کنی:

    [LEFTPrivate Sub MSComm1_OnComm()
    If MSComm1.CommEvent = comEvReceive Then
    MsgBox "Incoming"
    End If
    End Sub
    [/LEFT][/LEFT]


    البته قبلش باید پورت مورد نظر رو انتخاب و باز کرده باشی مثلا تو FormLoad میشه اینکارو کرد:


    Private Sub Form_Load()
    MSComm1.CommPort = "YourPortNumber"
    MSComm1.PortOpen = True
    End Sub ​
     
  6. aliali1

    aliali1 Guest

    تاریخ عضویت:
    ‏12 فوریه 2006
    نوشته ها:
    14
    تشکر شده:
    0
    http://www.engadget.com/2006/05/16/how-to-ir-remote-control-your-computer
    این هم pdf ساخت سخت افزار
    دوستان لطفا راهنمایی کنید می شود با eventدستور MSComm1 پورت کام را چک کرد که سیگنال دریافت شده یا خیر سپس کد ما را اجرا کند چون من فکر می کنم این دستور برای شبکه می باشد و نمی شود پورت را با ان چک کرد از دوست عزیزی هم که جواب مرا داد متشکرم
     
  7. خرید بیت کوین
  8. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,358
    تشکر شده:
    1,347
    محل سکونت:
    یه خورده اونورتر
    شما میتونید از این روش هم استفاده کنید. اگر بافر input پر بشه مسیج میده:
    کد:
    Dim txt As String
    Do While MSComm1.InputLen = 0
    DoEvents
    Loop
    txt = MSComm1.Input
    MsgBox txt
     
    
    فکر نمیکنم COM اصلا ربطی به شبکه داشته باشه.
    روشی هم که گذاشتید باید کار کنه. منتها باید توی یک حلقه بگذارید تا مدام چکش کنه یا توی یک تایمر بذارید... بعد هم تا وقتی MSComm1.Input رو فراخوانی نکنید، بافر پر می مونه.
     
  9. aliali1

    aliali1 Guest

    تاریخ عضویت:
    ‏12 فوریه 2006
    نوشته ها:
    14
    تشکر شده:
    0
    از راهنمایی شمه دوست عزیز متشکرم
     
  10. aliali1

    aliali1 Guest

    تاریخ عضویت:
    ‏12 فوریه 2006
    نوشته ها:
    14
    تشکر شده:
    0
    دوست عزیز مگه وقتی که از دستور MSComm1.CommEvent و ایونتش استفاده می کنیم هر وقت سیگنالی به ما رسید از پورت نمی خواند اگر جواب مثبت باید با بافر این کا را کرد If MSComm1.InBufferCount >= 1 Then
    مثل استفاده از این دستور یا این MSComm1.CommEvent فقط یک بار از پورت می خواند و باید از تایمر استفاده کرد که پی درپی پورت را چک بکند
     
  11. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,358
    تشکر شده:
    1,347
    محل سکونت:
    یه خورده اونورتر
    هر سه روش میشه. منتها تا Input رو نریزید توی یه متغییر، بافر خالی نمیشه: txt = MSComm1.Input
    اگر از event استفاده کنید دیگه تایمر لازم نیست...
     
  12. aliali1

    aliali1 Guest

    تاریخ عضویت:
    ‏12 فوریه 2006
    نوشته ها:
    14
    تشکر شده:
    0
    دوست عزیز چطور می توانم چک کنم چه موقع پین دوم از پورت کام توسط ریموت فعال شده سپس عمل شات دان شدن انجام شود ایا ایونت خاصی هست بدون استفاده از لوپ
    ایا خود MSComm این قابلیت را دارد
     
avanak همکاری در فروش عسل طبیعی و گرده گل ایرانیتبلیغات در گوگل