PDA

View Full Version : مقاله: سورس برنامه تشخیص اتصالات USB



kiosksoft
دوشنبه 21 اردیبهشت 1388, 10:25 صبح
با سلام

تو یکی از تاپیک ها این کد جنجال آفرین شده . برنامه exe گذاشتن سورسش رو نمیدن!!!!!!



using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Management;
namespace WinAppConsoleUSB1
{
using System;
classWMIEvent
{
publicstaticvoid Main()
{
WMIEvent we = newWMIEvent();
ManagementEventWatcher w = null;
WqlEventQuery q;
ManagementOperationObserver observer = newManagementOperationObserver();
// Bind to local machine
ManagementScope scope = newManagementScope("root\\CIMV2");
scope.Options.EnablePrivileges = true; //sets required privilege
try
{
q = newWqlEventQuery();
q.EventClassName = "__InstanceCreationEvent";
q.WithinInterval = newTimeSpan(0, 0, 10);
q.Condition = @"TargetInstance ISA 'Win32_USBControllerDevice' ";
Console.WriteLine(q.QueryString);
w = newManagementEventWatcher(scope, q);
w.EventArrived += newEventArrivedEventHandler(we.UsbEventArrived);
w.Start();
Console.ReadLine();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
w.Stop();
}
}
publicvoid UsbEventArrived(object sender,EventArrivedEventArgs e)
{
//Get the Event object and display it
foreach (PropertyData pd in e.NewEvent.Properties)
{
Console.WriteLine("\n============================= =========");
Console.WriteLine("{0},{1},{2}, {3}", pd.Name, pd.Type, pd.Value, pd.Origin);
ManagementBaseObject mbo = null;
if ((mbo = pd.Value asManagementBaseObject) != null)
{
Console.WriteLine("--------------Properties------------------");
foreach (PropertyData prop in mbo.Properties)
Console.WriteLine("{0} - {1}", prop.Name, prop.Value);
}
}
}
}

}


مقالات مرتبط در این زمینه :


دانلود کتاب اصول برنامه نویسی USB (http://www.4shared.com/dir/4910675/c99b6812/Usb_Complete_-__3_edition__.html)

لینک 2 کتاب (http://www.damavandiau.ac.ir/download/hardware/USB.Complete.Everything.You.Need.to.Develop.Custom .USB.Peripherals.3rd.edition/USB.Complete.Everything.You.Need.to.Develop.Custom .USB.Peripherals.3rd.edition.Aug.2005.pdf)

Detecting Hardware Insertion and/or Removal (http://www.codeproject.com/KB/system/HwDetect.aspx)

Detecting USB Drive Removal in a C#‎‎ Program (http://www.codeproject.com/KB/system/DriveDetector.aspx)

Device Management Events (http://msdn.microsoft.com/en-us/library/aa363232(VS.85).aspx)

در مورد پورت سریال هم کسی مشکل داشت بگه که حلش کنیم:چشمک:

kiosksoft
دوشنبه 21 اردیبهشت 1388, 10:56 صبح
کد مشکل داره. ارور می ده.:بوس:




دوست عزیز

متن Error رو اینجا بزارید .

احتمالا این Error رو میده :




The type or namespace name 'EventArrivedEventArgs' could not be found (are you missing a using directive or an assembly reference?)



درسته ؟:چشمک:

اگر System.Managment رو در قسمت Add Reference به پروژه تون Add کنید برنامه اجرا میشه .:چشمک:



به این تایپیک برید: هشدار دهنده اتصال وسیله به USB

تاپیک ت کار کسی رو را نمیندازه .


یا حق

asyasyasy
جمعه 25 اردیبهشت 1388, 17:27 عصر
سلام
چجور ميشه تو ايكس پي از پورت سريال به يه سخت افزار اطلاعات فرستاد و گرفت
تشكر ميكنم
باي

joker
جمعه 25 اردیبهشت 1388, 20:30 عصر
سلام و تشکر
دتکت دیوایس های infrared هم از همین طریق امکانپذیره ؟

kiosksoft
یک شنبه 27 اردیبهشت 1388, 10:24 صبح
سلام
چجور ميشه تو ايكس پي از پورت سريال به يه سخت افزار اطلاعات فرستاد و گرفت
تشكر ميكنم
باي

دوست عزیز

از این نمونه برنامه برای نوشتن روی پورت میتونید استفاده کنید.

تو ویندوز از امکانات HyperTerminal هم میتونید استفاده کنید.



using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.IO.Ports;
namespace TestWinApp
{
publicpartialclassForm1 : Form
{
public Form1()
{
InitializeComponent();
}
SerialPort serialPort1 = newSerialPort();
privatevoid Form1_Load(object sender, EventArgs e)
{
serialPort1.PortName = "COM1";
serialPort1.BaudRate = 9600;
serialPort1.DataBits = 8;
serialPort1.Parity = Parity.None;
serialPort1.StopBits = StopBits.One;
}

void Button1Click(object sender, EventArgs e)
{
//configuring the serial port
serialPort1.PortName = "COM1";
serialPort1.BaudRate = 9600;
serialPort1.DataBits = 8;
serialPort1.Parity = Parity.None;
serialPort1.StopBits = StopBits.One;
//opening the serial port
serialPort1.Open();
//write data to serial port
serialPort1.Write("ABC");
//close the port
serialPort1.Close();
}
}
}


این هم یه لینک کامل برای خواندن و نوشتن روی پورت با سی شارپ (http://www.codeproject.com/KB/cs/serialcommunication.aspx)

kiosksoft
یک شنبه 27 اردیبهشت 1388, 10:30 صبح
سلام و تشکر
دتکت دیوایس های infrared هم از همین طریق امکانپذیره ؟

بله , امکانپذیر هست.

کلیه Device هایی که از USB استفاده میکنند میتوان با این روش شناسایی کرد.

salehbagheri
یک شنبه 27 اردیبهشت 1388, 13:57 عصر
کلیه Device هایی که از USB استفاده میکنند میتوان با این روش شناسایی کرد.

اين كدها فقط براي شناساييه؟ آيا ميشه با تغيير و تحولاتي در كد، با باركدخوان USB كار كرد؟؟؟

kiosksoft
چهارشنبه 30 اردیبهشت 1388, 16:05 عصر
اين كدها فقط براي شناساييه؟ آيا ميشه با تغيير و تحولاتي در كد، با باركدخوان USB كار كرد؟؟؟

دوست من

این فقط یه نمونه برای افزایش قدرت مانور روی Event دستگاه ها میباشد .

شما برای یادگیری جزئیات از کتاب Jan Axelson استفاده کنید . هم کامل هستش هم ساده ست.

USB Complete Everything You Need to Develop Custom USB Peripherals Third Edition

دانلود کتاب اصول برنامه نویسی USB (http://www.4shared.com/dir/4910675/c99b6812/Usb_Complete_-__3_edition__.html)

لینک 2 کتاب (http://www.damavandiau.ac.ir/download/hardware/USB.Complete.Everything.You.Need.to.Develop.Custom .USB.Peripherals.3rd.edition/USB.Complete.Everything.You.Need.to.Develop.Custom .USB.Peripherals.3rd.edition.Aug.2005.pdf)

joker
سه شنبه 05 خرداد 1388, 04:08 صبح
بله , امکانپذیر هست.
کلیه Device هایی که از USB استفاده میکنند میتوان با این روش شناسایی کرد.

در این رابطه داشتم مطالعه میکردم ؛ رسیدم به اینا


DBT_DEVTYP_OEM OEM-defined device type

DBT_DEVTYP_DEVNODE devnode number (specific to Windows 95)

DBT_DEVTYP_VOLUME logical volume (drive)

DBT_DEVTYP_PORT serial or parallel port

DBT_DEVTYP_NET network resource (UNC)در مورد این نوع دیوایس OEM میشه یه توضیحی بدین؟
OEM چیه اصلا ؟

kiosksoft
شنبه 20 تیر 1388, 08:32 صبح
در مورد این نوع دیوایس OEM میشه یه توضیحی بدین؟
OEM چیه اصلا ؟

دوست عزیز ببخشید من متوجه سوالتون نشده بودم.

شما در مورد Original Equipment Manufacturers جستجو کنید مطالب زیادی رو خواهید یافت.

dehghanimeh
دوشنبه 09 شهریور 1388, 22:49 عصر
دوست عزیز کتاب Usb Complete پسورد داره :افسرده:

hossein-khoshseyar
جمعه 20 شهریور 1388, 23:21 عصر
دوست من

USB Complete Everything You Need to Develop Custom USB Peripherals Third Edition

دانلود کتاب اصول برنامه نویسی USB (http://www.4shared.com/dir/4910675/c99b6812/Usb_Complete_-__3_edition__.html)

دوست عزیز میشه بگی پسورد این کتاب چیه؟
ممنون می شم

kiosksoft
شنبه 21 شهریور 1388, 09:08 صبح
یه سرچ بزنی تو اینترنت میتونی آدرس های دیگه ای رو پیدا کنی !!

الان من حضور ذهن ندارم ببینم پسوردش چی بوده , از این آدرس دانلود کنید , نشد بگید خود کتاب رو آپلود کنم :

http://www.damavandiau.ac.ir/download/hardware/USB.Complete.Everything.You.Need.to.Develop.Custom .USB.Peripherals.3rd.edition/USB.Complete.Everything.You.Need.to.Develop.Custom .USB.Peripherals.3rd.edition.Aug.2005.pdf

stahad1
پنج شنبه 07 بهمن 1389, 21:10 عصر
من یک پورت usbدارم می خواهم یک یود نوری را به آن وصل کنم اگه خواستم روشن بشه واگه شد خاموشش کنم در ضمن چیزی در مورد مفاهیم واینکه اصلاusbچگونه کار می کنه

زینب حسینی
چهارشنبه 11 مرداد 1391, 11:30 صبح
سلام
ببخشید من یه بردی دارم که پوت سریالش به usb کامپیوتر وصل میشه آیا از سورس usb استفاده کنم یا سورس سریال؟
ممنون

sirvan-me
چهارشنبه 11 مرداد 1391, 12:39 عصر
یه سرچ بزنی تو اینترنت میتونی آدرس های دیگه ای رو پیدا کنی !!

الان من حضور ذهن ندارم ببینم پسوردش چی بوده , از این آدرس دانلود کنید , نشد بگید خود کتاب رو آپلود کنم :

http://www.damavandiau.ac.ir/download/hardware/USB.Complete.Everything.You.Need.to.Develop.Custom .USB.Peripherals.3rd.edition/USB.Complete.Everything.You.Need.to.Develop.Custom .USB.Peripherals.3rd.edition.Aug.2005.pdf

Down نشد ... لطف کن همینجا آپ کن ....