***بسیار مفتخریم که از سایت ما بازدید فرمودید امید است شما را در رسیدن به بخشی هرچند اندک از اهدافتان یاری نموده باشیم*** ***WWW.CESblog.Ir*** ***به وبلاگ مهندسی کامپیوتر خوش آمدید ***
تشخیص اینکه کامپیوتر به اینترنت وصل است یا خیر ؟

Public Declare Function RasEnumConnections Lib "RasApi32.dll" Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As Long, lpcConnections As Long) As Long
Public Declare Function RasGetConnectStatus Lib "RasApi32.dll" Alias "RasGetConnectStatusA" (ByVal hRasCon As Long, lpStatus As Any) As Long
'
Public Const RAS95_MaxEntryName = 256
Public Const RAS95_MaxDeviceType = 16
Public Const RAS95_MaxDeviceName = 32
'
Public Type RASCONN95
    dwSize As Long
    hRasCon As Long
    szEntryName(RAS95_MaxEntryName) As Byte
    szDeviceType(RAS95_MaxDeviceType) As Byte
    szDeviceName(RAS95_MaxDeviceName) As Byte
End Type
'
Public Type RASCONNSTATUS95
    dwSize As Long
    RasConnState As Long
    dwError As Long
    szDeviceType(RAS95_MaxDeviceType) As Byte
    szDeviceName(RAS95_MaxDeviceName) As Byte
End Type
'A call to the function IsConnected returns true if the computer has established a connection to the internet.

Public Function IsConnected() As Boolean
Dim TRasCon(255) As RASCONN95
Dim lg As Long
Dim lpcon As Long
Dim RetVal As Long
Dim Tstatus As RASCONNSTATUS95
'
TRasCon(0).dwSize = 412
lg = 256 * TRasCon(0).dwSize
'
RetVal = RasEnumConnections(TRasCon(0), lg, lpcon)
If RetVal <> 0 Then
                    MsgBox "ERROR"
                    Exit Function
                    End If
'
Tstatus.dwSize = 160
RetVal = RasGetConnectStatus(TRasCon(0).hRasCon, Tstatus)
If Tstatus.RasConnState = &H2000 Then
                         IsConnected = True
                         Else
                         IsConnected = False
                         End If

End Function

منبع:www.cesblog.ir


+ نوشته شده توسط CES در سه شنبه بیست و چهارم خرداد ۱۳۹۰ و ساعت 23:48 |
نحوه خاموش کردن کامپیوتر در ویژوال بیسیک


Private Const EWX_SHUTDOWN As Long = 1
Private Declare Function ExitWindowsEx Lib "user32" (ByVal dwOptions As Long, ByVal dwReserved As Long) As Long
lngResult = ExitWindowsEx(EWX_SHUTDOWN, 0&)

منبع:www.cesblog.ir


+ نوشته شده توسط CES در سه شنبه بیست و چهارم خرداد ۱۳۹۰ و ساعت 23:46 |
نحوه transparent  یک فرم در وی بی


Public Const GWL_EXSTYLE = (-20)
Public Const WS_EX_TRANSPARENT = &H20&
Public Const SWP_FRAMECHANGED = &H20
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOSIZE = &H1
Public Const SWP_SHOWME = SWP_FRAMECHANGED Or _
SWP_NOMOVE Or SWP_NOSIZE
Public Const HWND_NOTOPMOST = -2

Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
کد زیر رو در form_load قرار دهید
SetWindowLong Me.hwnd, GWL_EXSTYLE, WS_EX_TRANSPARENT
SetWindowPos Me.hwnd, HWND_NOTOPMOST, 0&, 0&, 0&, 0&, SWP_SHOWME

منبع:www.cesblog.ir

+ نوشته شده توسط CES در سه شنبه بیست و چهارم خرداد ۱۳۹۰ و ساعت 23:44 |
بررسی صحت ایمیل وارد شده 



Private Sub Text1_LostFocus()
    call ValidateEmail(Text1.text)
End Sub

Public Function ValidateEmail(ByVal strEmail As String) As Boolean
Dim strTmp As String, n As Long, sEXT As String
    EMsg = "" 'reset on open for good form
    ValidateEmail = True 'Assume true on init
   
    sEXT = strEmail
    Do While InStr(1, sEXT, ".") <> 0
       sEXT = Right(sEXT, Len(sEXT) - InStr(1, sEXT, "."))
    Loop
   
    If strEmail = "" Then
       ValidateEmail = False
       EMsg = EMsg & "Not a valid email address!"
      
    ElseIf InStr(1, strEmail, "@") = 0 Then
       ValidateEmail = False
       EMsg = EMsg & "Email address does not contain an @ sign."
      
    ElseIf InStr(1, strEmail, "@") = 1 Then
       ValidateEmail = False
       EMsg = EMsg & "@ sign can not be the first character in email address!"
      
    ElseIf InStr(1, strEmail, "@") = Len(strEmail) Then
       ValidateEmail = False
       EMsg = EMsg & "@sign can not be the last character in email address!"
      
    ElseIf EXTisOK(sEXT) = False Then
       ValidateEmail = False
       EMsg = EMsg & "Email address is not carrying a valid ending!"
      
    ElseIf Len(strEmail) < 6 Then
       ValidateEmail = False
       EMsg = EMsg & "Email address is shorter than 6 characters which is impossible."
    End If
    n = 0
    strTmp = strEmail
   
    Do While InStr(1, strTmp, "@") <> 0
       n = n + 1
       strTmp = Right(strTmp, Len(strTmp) - InStr(1, strTmp, "@"))
    Loop
   
    If n > 1 Then
       ValidateEmail = False 'found more than one @ sign
       EMsg = EMsg & "More than 1 @ sign in your email address"
    End If

End Function

Public Function EXTisOK(sEXT As String) As Boolean
Dim EXT As String, X As Long
    EXTisOK = False
    If Left(sEXT, 1) <> "." Then sEXT = "." & sEXT
    sEXT = UCase(sEXT) 'just to avoid errors
    EXT = EXT & ".COM.EDU.GOV.NET.BIZ.ORG.TV"
    EXT = EXT & ".AF.AL.DZ.As.AD.AO.AI.AQ.AG.AP.AR.AM.AW.AU.AT.AZ.BS.BH.BD.BB.BY"
    EXT = EXT & ".BE.BZ.BJ.BM.BT.BO.BA.BW.BV.BR.IO.BN.BG.BF.MM.BI.KH.CM.CA.CV.KY"
    EXT = EXT & ".CF.TD.CL.CN.CX.CC.CO.KM.CG.CD.CK.CR.CI.HR.CU.CY.CZ.DK.DJ.DM.DO"
    EXT = EXT & ".TP.EC.EG.SV.GQ.ER.EE.ET.FK.FO.FJ.FI.CS.SU.FR.FX.GF.PF.TF.GA.GM.GE.DE"
    EXT = EXT & ".GH.GI.GB.GR.GL.GD.GP.GU.GT.GN.GW.GY.HT.HM.HN.HK.HU.IS.IN.ID.IR.IQ"
    EXT = EXT & ".IE.IL.IT.JM.JP.JO.KZ.KE.KI.KW.KG.LA.LV.LB.LS.LR.LY.LI.LT.LU.MO.MK.MG"
    EXT = EXT & ".MW.MY.MV.ML.MT.MH.MQ.MR.MU.YT.MX.FM.MD.MC.MN.MS.MA.MZ.NA"
    EXT = EXT & ".NR.NP.NL.AN.NT.NC.NZ.NI.NE.NG.NU.NF.KP.MP.NO.OM.PK.PW.PA.PG.PY"
    EXT = EXT & ".PE.PH.PN.PL.PT.PR.QA.RE.RO.RU.RW.GS.SH.KN.LC.PM.ST.VC.SM.SA.SN.SC"
    EXT = EXT & ".SL.SG.SK.SI.SB.SO.ZA.KR.ES.LK.SD.SR.SJ.SZ.SE.CH.SY.TJ.TW.TZ.TH.TG.TK"
    EXT = EXT & ".TO.TT.TN.TR.TM.TC.TV.UG.UA.AE.UK.US.UY.UM.UZ.VU.VA.VE.VN.VG.VI"
    EXT = EXT & ".WF.WS.EH.YE.YU.ZR.ZM.ZW"
    EXT = UCase(EXT) 'just to avoid errors
    If InStr(1, EXT, sEXT) <> 0 Then EXTisOK = True
End Function

منبع:www.cesblog.ir


+ نوشته شده توسط CES در سه شنبه بیست و چهارم خرداد ۱۳۹۰ و ساعت 23:40 |
تکست باکس برای نمایش واحد پول


Private Sub Text1_LostFocus()
If IsNumeric(Text1.Text) Then
    Text1.Text = Format(Text1.Text, "#,##0.00")
Else
    MsgBox "Please enter a Numeric Value", vbInformation, "Unexcepted Value"
    Text1.SetFocus
    Text1.SelStart = 0
    Text1.SelLength = Len(Text1.Text)
End If
End Sub


منبع:www.cesblog.ir

+ نوشته شده توسط CES در سه شنبه بیست و چهارم خرداد ۱۳۹۰ و ساعت 23:36 |
سورس کپی فایل در وی بی



Private Declare Function SHFileOperation Lib "Shell32.dll" Alias "SHFOperationA" (lpFileOp As SHFILEopstruct) As Long
Private Const FO_Copy = &H2
Private Const For_Allowundo = &H40

Private Type SHFILEopstruct
hwnd As Long
wfunc As Long
pform As String
pto As String
fflags As Integer
faborted As Boolean
hnamemaps As Long
sprogress As String

End Type

Public Sub copy(ByVal asal As String, ByVal tujuan As String)
Dim x As SHFILEopstruct
With x
.hwnd = 0
.wfunc = FO_Copy
.pform = asal & vbNullChar & vbNllChar
.pto = tujuan & vbNulChar & vbNullChar
.fflags = fof_allowundo
End With
SHFileOperation x
End Sub

Private Sub Command1_Click()
copy Text1.Text, Text2.Text
MsgBox "File Sudah dicopy"
End Sub

Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub

Private Sub Dir2_Change()
Text2.Text = Dir2.Path
End Sub

Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub

Private Sub Drive2_Change()
Dir2.Path = Drive2.Drive
End Sub



Private Sub File1_Click()
Text1.Text = File1.Path & "\" & File1.FileName
End Sub

منبع:www.cesblog.ir

+ نوشته شده توسط CES در سه شنبه بیست و چهارم خرداد ۱۳۹۰ و ساعت 23:32 |
دریافت اطلاعات در مورد میزان مصرف رم در ویژوال بیسیک

وی بی :

Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As MEMORYSTATUS)
Private Type MEMORYSTATUS
   dwLength As Long
   dwMemoryLoad As Long
   dwTotalPhys As Long
   dwAvailPhys As Long
   dwTotalPageFile As Long
   dwAvailPageFile As Long
   dwTotalVirtual As Long
   dwAvailVirtual As Long
End Type
Private Sub command1_click()
   Dim MS As MEMORYSTATUS
   MS.dwLength = Len(MS)
   GlobalMemoryStatus MS
   Dim msg$
   msg = "MEMORY STATUS" + vbCrLf
   msg = msg + "============================" + vbCrLf
   msg = msg + "Loaded memory = " + Format$(MS.dwMemoryLoad, "###,###,###,###") + " % used" + vbCrLf
   msg = msg + "--------------------------------" + vbCrLf
   msg = msg + "Physical memory = " + Format$(MS.dwTotalPhys / 1024, "###,###,###,###") + " Kb" + vbCrLf
   msg = msg + "Free Physical memory = " + Format$(MS.dwAvailPhys / 1024, "###,###,###,###") + " Kb" + vbCrLf
   msg = msg + "--------------------------------" + vbCrLf
   msg = msg + "Paging file = " + Format$(MS.dwTotalPageFile / 1024, "###,###,###,###") + " Kb" + vbCrLf
   msg = msg + "Free Paging file = " + Format$(MS.dwAvailPageFile / 1024, "###,###,###,###") + " Kb" + vbCrLf
   msg = msg + "--------------------------------" + vbCrLf
   msg = msg + "Virtual memory : " + Format$(MS.dwTotalVirtual / 1024, "###,###,###,###") + " Kb" + vbCrLf
   msg = msg + "Free Virtual memory = " + Format$(MS.dwAvailVirtual / 1024, "###,###,###,###") + " Kb"
MsgBox msg
End Sub

منبع:www.cesblog.ir

+ نوشته شده توسط CES در سه شنبه بیست و چهارم خرداد ۱۳۹۰ و ساعت 15:15 |
بدست آوردن نام کامپیوتر در ویژوال بیسیک

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

Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Private Sub Command1_Click()
   Call Computer_Name
End Sub

Private Function Computer_Name() As String
   Dim nComputer As String 'Computer Name
   Dim nBuffer As String
   Dim nSize As Long
   nBuffer = Space$(250)
   nSize = Len(nBuffer)
   If GetComputerName(nBuffer, nSize) = 1 Then
      nComputer = Trim(nBuffer)
      MsgBox nComputer
      Exit Function
   End If
End Function

منبع:www.cesblog.ir

+ نوشته شده توسط CES در سه شنبه بیست و چهارم خرداد ۱۳۹۰ و ساعت 15:11 |

دانلود ضمیمه جام جم کلیک 22 خرداد 1390 - شماره 333


saveحجم فایل:600 کیلوبایت

downloadدانلود

keyرمز فایل :ندارد

منبع:www.cesblog.ir

+ نوشته شده توسط CES در دوشنبه بیست و سوم خرداد ۱۳۹۰ و ساعت 22:3 |
سریال نود32

Nod32 & ESET - Username and Password


Username: EAV-46258436
Password: v4tn63jm6j

Username: EAV-46260955
Password: 3mt36av7hb

Username: EAV-46395266
Password: r52sbdbrbh

Username: EAV-46398130
Password: 45pr2ac7jt

Username: EAV-46385652
Password: eu366xt4hb

Username: EAV-46366353
Password: mr3jp6k24r

Username: EAV-46366355
Password: b5funpkdhm

Username: EAV-46366350
Password: 4vthuhb4bf

Username: EAV-46258282
Password: j2kutsv5pr

Username: EAV-46161466
PassWord: vsv2tr7ecb

Username: EAV-46308408
Password: veep8un8ku

Username: EAV-46308414
Password: cb42tvb8tu

Username: EAV-46307206
Password: 3d8kbskcpv

Username: EAV-46307211
Password: svejx87xh2

Username: EAV-46308418
Password: rn4rhkvmuj

Username: EAV-46309220
Password: sr8xx7kv26

Username: EAV-46310153
Password: 4hh472ur8b

+ نوشته شده توسط CES در دوشنبه بیست و سوم خرداد ۱۳۹۰ و ساعت 19:1 |
کار با فايل در ويژوال بيسيک - بخش دوم

خواندن از فايل :


1 - دستور Input : توسط دستورهای Input و Line Input می توان محتوای فايلهای متنی و باينری را خواند .
دستور Input به دو صورت بکار می رود :
Input #Filenumber,ReadData
ReadData=Input(Charnum,Filenumber)x
دستور اول کل يک فايل را خوانده و در متغير ReadData قرار می دهد . دستور دوم ، تعداد Charnum بايت از فايلی با شماره Filenumber را خوانده و در متغير ReadData قرار می دهد .
اين دو دستور تمام کاراکترهای موجود در فايل را می خوانند . برای اينکه بتوان فايل را خط به خط خواند ، از دستور Line Input استفاده کنيد :
Line Input #Filenumber,ReadData
البته از دستور Line Input بيشتر برای خواندن فايلهای متنی استفاده می شود زيرا ممکنست در فايل باينری هيچ کاراکتر انتهای خط ( CRLF ) وجود نداشته باشد و يکباره کل فايل خوانده شود .

۲ - دستور Get : از اين دستور برای خواندن فايلهای باينری با دسترسی تصادفی ( Random Access ) استفاده میشود :
Get #Filenumber,[Recordnum%],ReadData
اين دستور رکورد شماره Recordnum را از فايلی با شماره Filenumber می خواند و در متغير ReadData قرار می دهد . علامت کروشه نشان می دهد که پارامتر Recordnum اختياری است و در صورتيکه ذکر نشود داده ها از رکورد بعدی فايل ( جائيکه اشاره گر فايل آنجا قرار دارد ) خوانده می شوند .

نوشتن در فايل :

۱ - دستور Print : توسط اين دستور می توان اطلاعاتی را در فايل قرار داد :
Print #FileNumber,WriteData
دستور فوق محتويات متغير WriteData را در فايلی با شماره FileNumber می نويسد . بوسيله دستور Print می توان اطلاعات را بصورت خط به خط در فايل نوشت برای مثال :
Print #1,"Hello Visual Basic"+Vbcrlf
عبارت Vbcrlf نشان دهنده کاراکتر انتهای خط ( CRLF ) در ويژوال بيسيک می باشد .

۲ - دستور Put : اين دستور برای نوشتن داده ها در فايلهای باينری با دسترسی تصادفی بکار می رود :
Put #FileNumber,[Recordnum],WriteData
اين دستور محتويات متغير WriteData را در رکورد شماره Recordnum قرار می دهد .

تعيين محل رکورد در فايلهای با دسترسی تصادفی :

برای منتقل کردن اشاره گر فايل به يک رکورد در يک فايل باينری با دسترسی اتفاقی ، از دستور Seek استفاده می شود . اين دستور محل يک بايت را در فايل می گيرد و اشاره گر فايل را در آنجا قرار می دهد بنابراين دستورات Put و Get می توانند با اين رکورد کار کنند :
Seek #FileNumber,RecordNumber

تشخيص انتهای فايل :

برای اينکه متوجه شويم به انتهای يک فايل رسيده ايم از دستور EOF استفاده می کنيم . اين دستور يکی از مقادير True يا False را بر می گرداند که نشان می دهد به انتهای فايلرسيده ايم يا نه . از اين تابع در حلقه های Do-While استفاده می شود :
Do While Not (EOF(FileNumer))x
.
.
.
Loop
حلقه فوق تا زمانيکه فايل موردنظر به انتها نرسيده باشد اجرا خواهد شد .

بدست آوردن طول يک فايل :

بوسيله دستور LOF می توان طول محتويات يک فايل را بدست آورد :
FileSize=LOF(FileNumber)x

بدست آوردن محل اشاره گر فايل :

توسط دستور Loc می توان محل جاری اشاره گر فايل را بدست آورد . اجرا شدن اين دستور محل اشاره گر را تغيير نمی دهد :

FilePosition=Loc(FileNumber)x

منبع:www.cesblog.ir

+ نوشته شده توسط CES در دوشنبه بیست و سوم خرداد ۱۳۹۰ و ساعت 15:33 |
کار با فايل در ويژوال بيسيک - بخش اول

مقدمه


بعلت عدم وجود اشاره گر در ويژوال بيسيک عمليات کار با فايلها در آن نسبتاً ساده می باشد .
بطور کلی فايلها بر دو نوع هستند :
1 - فايلهای متنی Text File : اين فايلها فقط شامل کاراکترهای اسکی و برخی کاراکترهای خاص مانند انتهای خط و انتهای فايل هستند .
۲ - فايلهای باينری Binary File : شامل هر نوع کاراکتری می توانند باشند و کاربردهای گسترده ای دارند مانند بانک های اطلاعاتی ، فايلهای اجرائی ، فايلهای گرافيکی و غيره
ويژوال بيسيک می تواند با هر دو نوع فايل کار کند .

چگونگی باز کردن فايلها

قبل از اينکه بتوان عمليات ورودی/خروجی را روی يک فايل انجام داد ابتدا بايستی آنرا باز کرد . باز کردن فايلها در ويژوال بيسيک توسط دستور Open انجام می شود . فرمت کلی اين دستور بصورت زير است :

Open filename [For mode] [Access access][lock] As [#]filenumber [Len=reclen]x


[ پارامترهای داخل کروشه اختياری هستند . ]
filename نام فايلی است که می خواهيم آنرا باز کنيم .
mode حالت باز کردن فايل است . اين حالتها عبارتند از :
- Input : فايل بعنوان ورودی باز می شود .
- Output : فايل بعنوان خروجی باز می شود .
- Binary : فايل از نوع باينری باز می شود .
- Append : فايل طوری باز می شود که بتوان به انتهای آن چيزی اضافه کرد .
- Random
access نوع دسترسی به فايل را مشخص می کند . انواع دسترسيها عبارتند از :
- Read : خواندن فايل
- Write : نوشتن در فايل
- ReadWrite : خواندن و نوشتن فايل
lock نوع دسترسی ساير برنامه ها به اين فايل را مشخص می کند . انواع دسترسيها عبارتند از :
- Shared : دسترسی اشتراکی
- Lock Read
- Lock Write
- Lock Read Write
filenumber عددی است که ويژوال بيسيک از آن برای دسترسی به فايل استفاده می کند .اين عدد بايستی برای هر فايل منحصر بفرد و بين ۱ تا ۵۱۱ باشد . برای بدست آوردن اولين شماره آزاد می توان از تابع FreeFile استفاده کرد .
reclen :طول بافر فايل است . اين عدد بايستی از ۳۲۷۶۷ کو چکتر باشد .

در صورتی که فايلی که توسط filename مشخص شده وجود نداشته و فايل برای Append ، Binary ، Output و يا Random باز شده باشد در اينصورت يک فايل جديد با اين نام ساخته می شود .
در صورتی که فايل بصورت باينری باز شده باشد پارامتر Len ناديده گرفته می شود .

چگونگی بستن فايل

پس از پايان کار با فايل برای بستن آن از دستور Close استفاده می کنيم . فرمت اين دستور بصورت زير است :

Close #filenumber


دستور Close بدون هيچ پارامتری تمام فايلهای باز را می بندد .

کار با دايرکتوری

۱ - گرفتن Dir : توسط دستور Dir می توان نام فايلهای موجود در يک دايرکتوری را بر اساس پارامترهايي که به آن می دهيم پيدا کنيم . برای مثال :

Myfile=Dir$("c:\text\*.txt)"x


دستور فوق نام اولين فايل موجود در دايرکتوری C:\TEXT را که پسوند آنها txt باشد در متغير Myfile قرار می دهد . اگر دستور فوق را بدون پارامتر مجدداً اجرا کنيم نام دومين فايل برگرداننده می شد و الی آخر
Dir دارای يک پارامتر اختياری است که نوع فايلهای مورد نظر را نيز می توان با آن مشخص نمود . مثال :

Myfile=Dir$("c:\text\*.txt",vbNormal)x


مقادير ممکن اين پارامتر عبارتند از :
vbNormal ، vbHidden ، vbSystem ، vbDirectory
۲ - تغيير دايرکتوری : برای تغيير دايرکتوری از دستور ChDir استفاده می شود مثال :

ChDir "c:\windows\system32"x


۳ - تغيير درايو : برای تغيير درايو از دستور ChDrive استفاده می شود مثال :

ChDrive "E:"x


۴ - ساخت دايرکتوری : برای ايجاد دايرکتوری جديد از دستور MKDir استفاده می شود مثال :

MKDir "c:\MyFolder"x


۵ - حذف دايرکتوری : برای حذف دايرکتوری از دستور RmDir استفاده می شود مثال :

RmDir "C:\MyFoler"x

منبع:www.cesblog.ir

+ نوشته شده توسط CES در دوشنبه بیست و سوم خرداد ۱۳۹۰ و ساعت 15:31 |

استخراج مشخصات سخت افزاری یک سیستم در وی بی

در این بخش یک کنترل Ocx معرفی می شود که بوسیله آن می توانید مشخصات سخت افزاری سیستم خود را استحراج کنید .

این کنترل را که Hardware Info نام دارد  می توانید در انتهای همین مقاله دانلود کنید .

پس از باز نمودن فایل zip دانلود شده مشاهده خواهید کرد که دو فایل dll و یک فایل ocx در آن وجود دارد . همچنین یگ فایل راهنما نیز بهمراه آنها وجود دارد که طریقه استفاده از کنترل را نشان می دهد . برای استفاده از کنترل فوق وارد محیط ویژال بیسیک شده و سپس وارد منوی Components شوید .  در آنجا روی دکمه Browse کلیک کنید . وارد پوشه ای که فایل zip را در آنجا باز کرده اید شده و فایل HWInfo.ocx را انتخاب کنید تا این کنترل به لیست کنترلهای نوار ابزار شما اضافه شود . حال می توانید از کنترل را روی فرم خود قرار دهید و از امکانات آن استفاده کنید .
این کنترل دارای خصوصیات زیر است :
BaseBoardManufacturer : مشخصات سازنده مادربورد
BaseBoardProduct : نوع چیپ ست مادربورد
BiosVendor : سازنده بایوس
BiosReleaseDate : تاریخ انتشار بایوس
BiosVersion : ورژن بایوس
BiosROMSize : سایز حافظه رام بایوس
SocketDesignation : نوع سوکت پردازنده
ProcessorType : نوع پردازنده
ProcessorManufactor : سازنده پردازنده
ProcessorID : شماره ID پردازنده
ProcessorSerialNumber : شماره سریال پردازنده
با استفاده از این کنترل همچنین می توان اطلاعات هر چهار هارد دیسک IDE سیستم را استخراج نمود برای مثال اگر بخواهید اطلاعات Primary Hard ( شماره یک ) را بدست آورید از خصوصیات زیر استفاده کنید :
HardDisk1ModelNumber : شماره مدل هارددیسک
HardDisk1SerialNumber : شماره سریال هارد دیسک ( شماره سریال کارخانه )

خصوصیات دیگری نیز در این کنترل وجود دارد که برای اطلاعات بیشتر به راهنمای آن مراجعه کنید .


saveحجم فایل:600 کیلوبایت

downloadدانلود

keyرمز فایل :www.cesblog.ir

منبع:www.cesblog.ir



+ نوشته شده توسط CES در دوشنبه بیست و سوم خرداد ۱۳۹۰ و ساعت 15:12 |

تشخیص فشرده شدن کليدهای کيبرد در ویژوال بیسیک

یکی از دوستان سوال کرده بودند که چگونه می توان کلیدهای کیبرد را حتی وقتی فوکوس روی برنامه ما نیست تشخیص داد مانند دیکشنری ها که مثلاً با CTRL+F12 فعال می شوند و یا Keylogger ها که کلیدهای فشرده شده را ثبت می کنند .
من دو روش زیر را برای اینکار پيشنهاد می کنم :

۱ - استفاده از یک تابع کتابخانه ای به اسم  GetAsyncKeyState موجود در کتابخانه user32.dll . این تابع ، فشرده شدن یا رها شدن یک کلید را تشخیص می دهد . نحوه declare کردن این تابع بصورت زیر است :

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

حال در برنامه تان یک timer قرار داده و در event آن کد زیر را قرار دهید :

    For i = 1 To 255
        results = 0
        results = GetAsyncKeyState(i)
        If results <> 0 Then
           Msgbox(Chr(i))
        End If
    Next



منبع:www.cesblog.ir

+ نوشته شده توسط CES در دوشنبه بیست و سوم خرداد ۱۳۹۰ و ساعت 15:3 |

امنیت در asp.net

 

saveحجم فایل:12 مگابایت

downloadدانلود

keyرمز فایل :ندارد

منبع:www.cesblog.ir

+ نوشته شده توسط CES در دوشنبه بیست و سوم خرداد ۱۳۹۰ و ساعت 11:36 |