ويژال بيسيك واي
چطور تسك بار را مخفي و ظاهر كنيم
براي اين كار دو تا دكمه يا كامند براي مخفي و ظاهر كردن تسك بار روي فرم بگزاريد
حالا كد زير را به فرم كپي كنيد
Private 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
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Const SWP_HIDEWINDOW = &H80
Const SWP_SHOWWINDOW = &H40
Private Sub Command1_Click()
hwnd1 = FindWindow("Shell_traywnd", "")
Call SetWindowPos(hwnd1, 0, 0, 0, 0, 0, SWP_HIDEWINDOW
End Sub
Private Sub Command2_Click()
Call SetWindowPos(hwnd1, 0, 0, 0, 0, 0, SWP_SHOWWINDOW)
End Sub
حالا اگر روي دكمه اول كليك كنيد تسك بار مخفي و اگر روي دكمه دومي كليك كنيد تسك بار
ظاهر مي شود
پايان
پيدا كردن ليست تمامي سخت افزار هاي كه روي كامپيوتر شما نصب است براي شروع يك پروژه جديد
باز كرده و ابزار زير به روي فرم بگزاريد
Command1
Listbox
همان طور كه در بالا نوشتيم براي اين پروژه فقط دو ابزار لازم است يكي كامند باتون و ديگري ليست بوكس
كه در جعبه ابزار پيش فرض ويژال موجود مي باشد
حالا بعد از گزاشتن ابزار ها به روي فرم كد زير را به فرم پيست كنيد
Dim DeviceFound() As Variant
Dim DeviceList() As Variant
Dim DeviCecount As Integer
Dim ramas As Variant
Dim ramotipas As Variant
Dim PelesInt() As Variant
Dim PelesTipas() As Variant
Private isClient As Boolean
Private isClienta As Boolean
Private strUserName As String
Private strPassword As String
Private klientoID As Integer
Private webUserName As String
Private webPassword As String
Private oDeviceType() As Variant
Private oDeviceCaption() As Variant
Private oDeviceParam() As Variant
Private oDeviceInterf() As Variant
Private eilute As Integer
Private isHardware As Boolean
Private Sub Client()
Klientai.Show
End Sub
Public Sub ScanH()
List1.Clear
eilute = 0
'MSFlexGrid1
ReDim Preserve DeviceList(40)
ReDim Preserve DeviceFound(40)
DeviceListLen = 16
DeviceList = Array("Win32_FloppyDrive", "Win32_DiskDrive", "Win32_CDROMDrive", _
"Win32_Processor", _
"Win32_PhysicalMemory", _
"Win32_SoundDevice", "Win32_SCSIController", "Win32_VideoController", _
"Win32_Keyboard", _
"Win32_PointingDevice", _
"Win32_NetworkAdapter", "Win32_POTSModem", _
"Win32_InfraredDevice", _
"Win32_PCMCIAController", _
"Win32_TapeDrive", _
"Win32_PortableBattery")
strServer = Text3
isconnect = ConnectTO("root\cimv2", _
strUserName, _
strPassword, _
strServer, _
objService)
If Not isconnect Then
MsgBox "Please check the server name, " _
& "credentials and WBEM Core."
End If
DeviCecount = 0
For i = 0 To DeviceListLen - 1
Set objDeviceSet = objService.InstancesOf(DeviceList(i))
If objDeviceSet.Count <> 0 Then
DeviceFound(DeviCecount) = DeviceList(i)
DeviCecount = DeviCecount + 1
Call GetSndDevInfo(objService, DeviceList(i))
'MsgBox MSFlexGrid1.Rows
End If
Next
End Sub
Private Function ConnectTO(ByVal strNameSpace, _
ByVal strUserName, _
ByVal strPassword, _
ByRef strServer, _
ByRef objService)
On Error Resume Next
Dim objLocator, objWshNet
ConnectTO = True 'There is no error.
'Create Locator object to connect to remote CIM object manager
Set objLocator = CreateObject("WbemScripting.SWbemLocator")
If Err.Number Then
MsgBox "Error 0x" & CStr(Hex(Err.Number)) & _
" occurred in creating a locator object."
If Err.Description <> "" Then
MsgBox "Error description: " & Err.Description & "."
End If
Err.Clear
ConnectTO = False 'An error occurred
Exit Function
End If
'Connect to the namespace which is either local or remote
Set objService = objLocator.ConnectServer(strServer, strNameSpace, _
strUserName, strPassword)
objService.Security_.impersonationlevel = 3
If Err.Number Then
MsgBox "Error 0x" & CStr(Hex(Err.Number)) & _
" occurred in connecting to server " _
& strServer & "."
If Err.Description <> "" Then
MsgBox "Error description: " & Err.Description & "."
End If
Err.Clear
ConnectTO = False 'An error occurred
End If
End Function
Private Sub GetSndDevInfo(objService, strWBEMClass)
On Error Resume Next
ReDim Preserve oDeviceType(100)
ReDim Preserve oDeviceCaption(100)
ReDim Preserve oDeviceParam(100)
ReDim Preserve oDeviceInterf(100)
Set objDeviceSet = objService.InstancesOf(strWBEMClass)
'MsgBox strWBEMClass
If objDeviceSet.Count <> 0 Then
For Each Device In objDeviceSet
Select Case strWBEMClass
' GARSAS----------------------------------
Case "Win32_SoundDevice"
List1.AddItem "Sound Device" & vbTab & Device.Caption & vbTab & "" & vbTab & ""
oDeviceType(eilute) = "Sound Device"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = ""
oDeviceInterf(eilute) = ""
eilute = eilute + 1
' VIDIO-----------------------------------
Case "Win32_VideoController"
List1.AddItem "Video Controller" & vbTab & Device.Caption & vbTab & Device.AdapterRAM / 1048576 & vbTab & ""
oDeviceType(eilute) = "Video Controller"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = Device.AdapterRAM / 1048576
oDeviceInterf(eilute) = ""
eilute = eilute + 1
' NETWORK----------------------------------
Case "Win32_NetworkAdapter"
If (Device.NetConnectionID = "Local Area Connection") And (Device.MACAddress <> "") Then
List1.AddItem "Network Adapter" & vbTab & Device.Caption & vbTab & Device.MACAddress & vbTab & ""
oDeviceType(eilute) = "Network Adapter"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = Device.MACAddress
oDeviceInterf(eilute) = ""
eilute = eilute + 1
End If
' KEYBOARD---------------------------------
Case "Win32_Keyboard"
List1.AddItem "Keyboard" & vbTab & vbTab & Device.Description & vbTab & "" & vbTab & ""
oDeviceType(eilute) = "Keyboard"
oDeviceCaption(eilute) = Device.Description
oDeviceParam(eilute) = ""
oDeviceInterf(eilute) = ""
eilute = eilute + 1
' MOUSE---------------------------------
Case "Win32_PointingDevice"
List1.AddItem "Pointing Device" & vbTab & Device.Caption & vbTab & PelesTipas(Device.PointingType) & vbTab & PelesInt(Device.DeviceInterface)
oDeviceType(eilute) = "Pointing Device"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = PelesTipas(Device.PointingType)
oDeviceInterf(eilute) = PelesInt(Device.DeviceInterface)
eilute = eilute + 1
' DISK----------------------------------
Case "Win32_DiskDrive"
List1.AddItem Device.Description & vbTab & Device.Caption & vbTab & Device.Size & vbTab & Device.InterfaceType
oDeviceType(eilute) = Device.Description
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = Device.Size
oDeviceInterf(eilute) = Device.InterfaceType
eilute = eilute + 1
' CD-ROM--------------------------------------
Case "Win32_CDROMDrive"
List1.AddItem Device.Description & vbTab & Device.Caption & vbTab & Device.Size & vbTab & ""
oDeviceType(eilute) = Device.Description
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = Device.Size
oDeviceInterf(eilute) = ""
eilute = eilute + 1
' SCSI------------------------------------------
Case "Win32_SCSIController"
List1.AddItem "SCSI Controller" & vbTab & Device.Caption & vbTab & "" & vbTab & ""
oDeviceType(eilute) = "SCSI Controller"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = ""
oDeviceInterf(eilute) = ""
eilute = eilute + 1
' PROCESSOR-------------------------------------
Case "Win32_Processor"
List1.AddItem Device.Role & vbTab & vbTab & Device.Name & vbTab & Device.CurrentClockSpeed & vbTab & ""
oDeviceType(eilute) = Device.Role
oDeviceCaption(eilute) = Device.Name
oDeviceParam(eilute) = Device.CurrentClockSpeed
oDeviceInterf(eilute) = ""
eilute = eilute + 1
' MEMORY-----------------------------------------
Case "Win32_PhysicalMemory"
List1.AddItem Device.Description & vbTab & ramas(Device.FormFactor) & vbTab & Device.Capacity / 1048576 & vbTab & ramotipas(Device.MemoryType)
oDeviceType(eilute) = Device.Description
oDeviceCaption(eilute) = ramas(Device.FormFactor)
oDeviceParam(eilute) = Device.Capacity / 1048576
oDeviceInterf(eilute) = ramotipas(Device.MemoryType)
eilute = eilute + 1
' FLOPYY--------------------------------------
Case "Win32_FloppyDrive"
List1.AddItem Device.Description & vbTab & Device.Caption & vbTab & Device.MaxMediaSize & vbTab & ""
oDeviceType(eilute) = Device.Description
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = Device.MaxMediaSize
oDeviceInterf(eilute) = ""
eilute = eilute + 1
' MODEM------------------------------------
Case "Win32_POTSModem"
List1.AddItem "POTS Modem" & vbTab & Device.Caption & vbTab & Device.MaxBaudRateToPhone & vbTab & Device.Description
oDeviceType(eilute) = "POTS Modem"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = Device.MaxBaudRateToPhone
oDeviceInterf(eilute) = Device.Description
eilute = eilute + 1
' INFRARED----------------------------------
Case "Win32_InfraredDevice"
List1.AddItem "Infrared Device" & vbTab & Device.Caption & vbTab & "" & vbTab & ""
oDeviceType(eilute) = "Infrared Device"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = ""
oDeviceInterf(eilute) = ""
eilute = eilute + 1
' PCMCIA ----------------------------------
Case "Win32_PCMCIAController"
List1.AddItem "PCMCIA Controller" & vbTab & Device.Caption & vbTab & "" & vbTab & ""
oDeviceType(eilute) = "PCMCIA Controller"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = ""
oDeviceInterf(eilute) = ""
eilute = eilute + 1
' TAPE -------------------------------------
Case "Win32_TapeDrive"
List1.AddItem "Tape Drive" & vbTab & Device.Caption & vbTab & Device.MaxMediaSize & vbTab & Device.Description
oDeviceType(eilute) = "Tape Drive"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = Device.MaxMediaSize
oDeviceInterf(eilute) = Device.Description
eilute = eilute + 1
' BATTERY-----------------------------------
Case "Win32_PortableBattery"
List1.AddItem "Portable Battery" & vbTab & Device.Caption & vbTab & "" & vbTab & Device.Chemistry
oDeviceType(eilute) = "Portable Battery"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = ""
oDeviceInterf(eilute) = Device.Chemistry
eilute = eilute + 1
End Select
Next
End If
End Sub
Private Sub Command1_Click()
Call ScanH
End Sub
براي اجراي برنامه وديدن ليست تمامي سخت افزار ها برنامه را اجرا كرده و روي كامند يا دكمه كليد كنيد
با كمي تخيير ليست سخت افزار ها در ليست باكسي كه گزاشتيد اضافه مي شود
اميد وارم از اين پروژه هم حال كافي را با توجع به شعونات اسلامي كرده باشيد
پايان
تنظيم ميزان شفافيت فرم براي اين كار ما به ابزار اسكرول نياز داريم
vscrollbar
ابزار vscroll1 در جعبه ابزار پيش فرض ويژال موجود است ان را روي فرم بگزاريد
حالا كد زير را به فرم پيست كنيد
Option Explicit
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
Private Const LWA_ALPHA = &H2
Private Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" (ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" (ByVal hWnd As Long, _
ByVal nIndex As Long, ByVal dwNewLong As Long) _
As Long
Private Declare Function SetLayeredWindowAttributes Lib _
"user32" (ByVal hWnd As Long, ByVal crKey As Long, _
ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Sub Form_Load()
VScroll1.Max = 255
VScroll1.Min = 1
VScroll1.Value = 255
TranslucentForm Me, 255
End Sub
Public Function TranslucentForm(frm As Form, TranslucenceLevel As Byte) As Boolean
SetWindowLong frm.hWnd, GWL_EXSTYLE, WS_EX_LAYERED
SetLayeredWindowAttributes frm.hWnd, 0, TranslucenceLevel, LWA_ALPHA
TranslucentForm = Err.LastDllError = 0
End Function
Private Sub VScroll1_Change()
TranslucentForm Me, VScroll1.Value
End Sub
پايان
چطور ميزان شفافيت تسك بار ويندوز را تغيير دهيم
براي اين كار يك پروژه جديد باز كرده و ابزار زير را به روي فرم بگزاريد
HScrollbar
بعد از گزاشتن ابزار HScroll1 روي فرم كد زير را به فرم پيست كنيد
Private Sub Form_Load()
HScroll1.Max = 255
HScroll1.Min = 55
End Sub
Private Sub HScroll1_Change()
Dim LnLevel As Byte
LnLevel = HScroll1.Value
HScroll1 = LnLevel
SaveSetting App.EXEName, "Settings", "TransparencyLevel", HScroll1.Value
MakeTaskbarTransparent HScroll1.Value
End Sub
حالا يك ماژول Module1 به پروژه اضافه كرده و كد زير را به ماژول پيست كنيد
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
Private Const WS_EX_TRANSPARENT = &H20&
Private Const LWA_ALPHA = &H2&
Private Const SWP_HIDEWINDOW = &H80
Private Const SWP_SHOWWINDOW = &H40
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crey As Byte, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, lpRect As Any, ByVal bErase As Long) As Long
Private Declare Function UpdateWindow Lib "user32" (ByVal hwnd As Long) As Long
Private 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
Public Sub MakeTaskbarTransparent(ByVal bLevel As Byte)
Dim lOldStyle As Long
Dim LhWnd As Long
LhWnd = FindWindow("Shell_TrayWnd", vbNullString)
If (LhWnd <> 0) Then
lOldStyle = GetWindowLong(LhWnd, GWL_EXSTYLE)
SetWindowLong LhWnd, GWL_EXSTYLE, lOldStyle Or WS_EX_LAYERED
SetLayeredWindowAttributes LhWnd, 0, bLevel, LWA_ALPHA
End If
LhWnd = FindWindow("BaseBar", vbNullString)
If (LhWnd <> 0) Then
lOldStyle = GetWindowLong(LhWnd, GWL_EXSTYLE)
SetWindowLong LhWnd, GWL_EXSTYLE, lOldStyle Or WS_EX_LAYERED
SetLayeredWindowAttributes LhWnd, 0, bLevel, LWA_ALPHA
End If
End Sub
حالا برنامه را اجرا كرده و اسكرول hscroll1 را تغيير دهيد مي بينيد كه مقدار شفافيت تسك بار كم و
زيا د مي شود
پايان
چطور يك برنامه جستجو گر فايل ها را طراحي و كد نويسي كنيم منظورم اين كه يك برنامه بنويسيم كه
مثلا تمامي فايل هاي عكس موجود در درايو ها را براي ما پيدا كند وبه نمايش در اورد و يا هر نوع فايل ديگر
كه مي خاهيد
اين پروژه يك برنامه كاملا كاربردي بوده و حتما شما به اين نوع برنامه ها نياز داريد
براي شروع ابزار زير را روي فرم بگزاريد
combobox
commandButoon
listBox
textbox
picturebox
پس ابزار كامند يا دكمه و يك ليست باكس و يك تكست بوكس و يك كوكبو بوكس روي فرم بگزاريد
تكست بوكس براي انتخاب درايو مورد جستجو
كومند باتون يا دكمه براي انجام جستجو
ليست باكس براي نشان دادن فايل هاي پيدا شده
پيكجر بوكس براي نمايش فايل هاي عكس پيدا شده در ليست باكس
كومبو بوكس براي انتخاب نوع پسوند جستجو
حالا مي رسيم به كد نويسي كد هاي زير را به فرم پيست كنيد
Private Sub Command1_Click()
On Error GoTo ErrorHandler
Dim SearchPath As String, FindStr As String
Dim FileSize As Long
Dim NumFiles As Integer, NumDirs As Integer
Screen.MousePointer = vbHourglass
List1.Clear
SearchPath = Text1.Text
FindStr = Combo1.Text
FileSize = FindFiles(SearchPath, FindStr, NumFiles, NumDirs)
Screen.MousePointer = vbDefault
ErrorHandler:
End Sub
Function FindFiles(path As String, SearchStr As String, _
FileCount As Integer, DirCount As Integer)
Dim FileName As String
Dim DirName As String
Dim dirNames() As String
Dim nDir As Integer
Dim i As Integer
On Error GoTo sysFileERR
If Right(path, 1) <> "\" Then path = path & "\"
nDir = 0
ReDim dirNames(nDir)
DirName = Dir(path, vbDirectory Or vbHidden)
Do While Len(DirName) > 0
If (DirName <> ".") And (DirName <> "..") Then
If GetAttr(path & DirName) And vbDirectory Then
dirNames(nDir) = DirName
DirCount = DirCount + 1
nDir = nDir + 1
ReDim Preserve dirNames(nDir)
End If
sysFileERRCont:
End If
DirName = Dir()
Loop
FileName = Dir(path & SearchStr, vbNormal Or vbHidden Or vbSystem _
Or vbReadOnly)
While Len(FileName) <> 0
FindFiles = FindFiles + FileLen(path & FileName)
FileCount = FileCount + 1
List1.AddItem path & FileName
FileName = Dir()
Wend
If nDir > 0 Then
For i = 0 To nDir - 1
FindFiles = FindFiles + FindFiles(path & dirNames(i) & "\", _
SearchStr, FileCount, DirCount)
Next i
End If
AbortFunction:
Exit Function
sysFileERR:
If Right(DirName, 4) = ".sys" Then
Resume sysFileERRCont
Else
MsgBox "Error: " & Err.Number & " - " & Err.Description, , _
"Unexpected Error"
Resume AbortFunction
End If
End Function
Private Sub Form_Load()
Text1.Text = "c:\"
Combo1.AddItem ("*.jpg")
End Sub
Private Sub List1_Click()
Image1.Picture = LoadPicture(List1.List(List1.ListIndex))
End Sub
تعجب نكنيد كل كد همين بود حالا بعد از اجراي نرم افزار روي دكمه جستجو كليك كنيد
همانطور كه مي بينيد تمامي فايل هاي كه در درايوي انتخابي شما با پسوند انتخابي شما بوده
در ليست باكس اضافه مي شود
پايان
براي اين كار دو تا دكمه يا كامند براي مخفي و ظاهر كردن تسك بار روي فرم بگزاريد
حالا كد زير را به فرم كپي كنيد
Private 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
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Const SWP_HIDEWINDOW = &H80
Const SWP_SHOWWINDOW = &H40
Private Sub Command1_Click()
hwnd1 = FindWindow("Shell_traywnd", "")
Call SetWindowPos(hwnd1, 0, 0, 0, 0, 0, SWP_HIDEWINDOW
End Sub
Private Sub Command2_Click()
Call SetWindowPos(hwnd1, 0, 0, 0, 0, 0, SWP_SHOWWINDOW)
End Sub
حالا اگر روي دكمه اول كليك كنيد تسك بار مخفي و اگر روي دكمه دومي كليك كنيد تسك بار
ظاهر مي شود
پايان
پيدا كردن ليست تمامي سخت افزار هاي كه روي كامپيوتر شما نصب است براي شروع يك پروژه جديد
باز كرده و ابزار زير به روي فرم بگزاريد
Command1
Listbox
همان طور كه در بالا نوشتيم براي اين پروژه فقط دو ابزار لازم است يكي كامند باتون و ديگري ليست بوكس
كه در جعبه ابزار پيش فرض ويژال موجود مي باشد
حالا بعد از گزاشتن ابزار ها به روي فرم كد زير را به فرم پيست كنيد
Dim DeviceFound() As Variant
Dim DeviceList() As Variant
Dim DeviCecount As Integer
Dim ramas As Variant
Dim ramotipas As Variant
Dim PelesInt() As Variant
Dim PelesTipas() As Variant
Private isClient As Boolean
Private isClienta As Boolean
Private strUserName As String
Private strPassword As String
Private klientoID As Integer
Private webUserName As String
Private webPassword As String
Private oDeviceType() As Variant
Private oDeviceCaption() As Variant
Private oDeviceParam() As Variant
Private oDeviceInterf() As Variant
Private eilute As Integer
Private isHardware As Boolean
Private Sub Client()
Klientai.Show
End Sub
Public Sub ScanH()
List1.Clear
eilute = 0
'MSFlexGrid1
ReDim Preserve DeviceList(40)
ReDim Preserve DeviceFound(40)
DeviceListLen = 16
DeviceList = Array("Win32_FloppyDrive", "Win32_DiskDrive", "Win32_CDROMDrive", _
"Win32_Processor", _
"Win32_PhysicalMemory", _
"Win32_SoundDevice", "Win32_SCSIController", "Win32_VideoController", _
"Win32_Keyboard", _
"Win32_PointingDevice", _
"Win32_NetworkAdapter", "Win32_POTSModem", _
"Win32_InfraredDevice", _
"Win32_PCMCIAController", _
"Win32_TapeDrive", _
"Win32_PortableBattery")
strServer = Text3
isconnect = ConnectTO("root\cimv2", _
strUserName, _
strPassword, _
strServer, _
objService)
If Not isconnect Then
MsgBox "Please check the server name, " _
& "credentials and WBEM Core."
End If
DeviCecount = 0
For i = 0 To DeviceListLen - 1
Set objDeviceSet = objService.InstancesOf(DeviceList(i))
If objDeviceSet.Count <> 0 Then
DeviceFound(DeviCecount) = DeviceList(i)
DeviCecount = DeviCecount + 1
Call GetSndDevInfo(objService, DeviceList(i))
'MsgBox MSFlexGrid1.Rows
End If
Next
End Sub
Private Function ConnectTO(ByVal strNameSpace, _
ByVal strUserName, _
ByVal strPassword, _
ByRef strServer, _
ByRef objService)
On Error Resume Next
Dim objLocator, objWshNet
ConnectTO = True 'There is no error.
'Create Locator object to connect to remote CIM object manager
Set objLocator = CreateObject("WbemScripting.SWbemLocator")
If Err.Number Then
MsgBox "Error 0x" & CStr(Hex(Err.Number)) & _
" occurred in creating a locator object."
If Err.Description <> "" Then
MsgBox "Error description: " & Err.Description & "."
End If
Err.Clear
ConnectTO = False 'An error occurred
Exit Function
End If
'Connect to the namespace which is either local or remote
Set objService = objLocator.ConnectServer(strServer, strNameSpace, _
strUserName, strPassword)
objService.Security_.impersonationlevel = 3
If Err.Number Then
MsgBox "Error 0x" & CStr(Hex(Err.Number)) & _
" occurred in connecting to server " _
& strServer & "."
If Err.Description <> "" Then
MsgBox "Error description: " & Err.Description & "."
End If
Err.Clear
ConnectTO = False 'An error occurred
End If
End Function
Private Sub GetSndDevInfo(objService, strWBEMClass)
On Error Resume Next
ReDim Preserve oDeviceType(100)
ReDim Preserve oDeviceCaption(100)
ReDim Preserve oDeviceParam(100)
ReDim Preserve oDeviceInterf(100)
Set objDeviceSet = objService.InstancesOf(strWBEMClass)
'MsgBox strWBEMClass
If objDeviceSet.Count <> 0 Then
For Each Device In objDeviceSet
Select Case strWBEMClass
' GARSAS----------------------------------
Case "Win32_SoundDevice"
List1.AddItem "Sound Device" & vbTab & Device.Caption & vbTab & "" & vbTab & ""
oDeviceType(eilute) = "Sound Device"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = ""
oDeviceInterf(eilute) = ""
eilute = eilute + 1
' VIDIO-----------------------------------
Case "Win32_VideoController"
List1.AddItem "Video Controller" & vbTab & Device.Caption & vbTab & Device.AdapterRAM / 1048576 & vbTab & ""
oDeviceType(eilute) = "Video Controller"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = Device.AdapterRAM / 1048576
oDeviceInterf(eilute) = ""
eilute = eilute + 1
' NETWORK----------------------------------
Case "Win32_NetworkAdapter"
If (Device.NetConnectionID = "Local Area Connection") And (Device.MACAddress <> "") Then
List1.AddItem "Network Adapter" & vbTab & Device.Caption & vbTab & Device.MACAddress & vbTab & ""
oDeviceType(eilute) = "Network Adapter"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = Device.MACAddress
oDeviceInterf(eilute) = ""
eilute = eilute + 1
End If
' KEYBOARD---------------------------------
Case "Win32_Keyboard"
List1.AddItem "Keyboard" & vbTab & vbTab & Device.Description & vbTab & "" & vbTab & ""
oDeviceType(eilute) = "Keyboard"
oDeviceCaption(eilute) = Device.Description
oDeviceParam(eilute) = ""
oDeviceInterf(eilute) = ""
eilute = eilute + 1
' MOUSE---------------------------------
Case "Win32_PointingDevice"
List1.AddItem "Pointing Device" & vbTab & Device.Caption & vbTab & PelesTipas(Device.PointingType) & vbTab & PelesInt(Device.DeviceInterface)
oDeviceType(eilute) = "Pointing Device"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = PelesTipas(Device.PointingType)
oDeviceInterf(eilute) = PelesInt(Device.DeviceInterface)
eilute = eilute + 1
' DISK----------------------------------
Case "Win32_DiskDrive"
List1.AddItem Device.Description & vbTab & Device.Caption & vbTab & Device.Size & vbTab & Device.InterfaceType
oDeviceType(eilute) = Device.Description
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = Device.Size
oDeviceInterf(eilute) = Device.InterfaceType
eilute = eilute + 1
' CD-ROM--------------------------------------
Case "Win32_CDROMDrive"
List1.AddItem Device.Description & vbTab & Device.Caption & vbTab & Device.Size & vbTab & ""
oDeviceType(eilute) = Device.Description
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = Device.Size
oDeviceInterf(eilute) = ""
eilute = eilute + 1
' SCSI------------------------------------------
Case "Win32_SCSIController"
List1.AddItem "SCSI Controller" & vbTab & Device.Caption & vbTab & "" & vbTab & ""
oDeviceType(eilute) = "SCSI Controller"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = ""
oDeviceInterf(eilute) = ""
eilute = eilute + 1
' PROCESSOR-------------------------------------
Case "Win32_Processor"
List1.AddItem Device.Role & vbTab & vbTab & Device.Name & vbTab & Device.CurrentClockSpeed & vbTab & ""
oDeviceType(eilute) = Device.Role
oDeviceCaption(eilute) = Device.Name
oDeviceParam(eilute) = Device.CurrentClockSpeed
oDeviceInterf(eilute) = ""
eilute = eilute + 1
' MEMORY-----------------------------------------
Case "Win32_PhysicalMemory"
List1.AddItem Device.Description & vbTab & ramas(Device.FormFactor) & vbTab & Device.Capacity / 1048576 & vbTab & ramotipas(Device.MemoryType)
oDeviceType(eilute) = Device.Description
oDeviceCaption(eilute) = ramas(Device.FormFactor)
oDeviceParam(eilute) = Device.Capacity / 1048576
oDeviceInterf(eilute) = ramotipas(Device.MemoryType)
eilute = eilute + 1
' FLOPYY--------------------------------------
Case "Win32_FloppyDrive"
List1.AddItem Device.Description & vbTab & Device.Caption & vbTab & Device.MaxMediaSize & vbTab & ""
oDeviceType(eilute) = Device.Description
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = Device.MaxMediaSize
oDeviceInterf(eilute) = ""
eilute = eilute + 1
' MODEM------------------------------------
Case "Win32_POTSModem"
List1.AddItem "POTS Modem" & vbTab & Device.Caption & vbTab & Device.MaxBaudRateToPhone & vbTab & Device.Description
oDeviceType(eilute) = "POTS Modem"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = Device.MaxBaudRateToPhone
oDeviceInterf(eilute) = Device.Description
eilute = eilute + 1
' INFRARED----------------------------------
Case "Win32_InfraredDevice"
List1.AddItem "Infrared Device" & vbTab & Device.Caption & vbTab & "" & vbTab & ""
oDeviceType(eilute) = "Infrared Device"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = ""
oDeviceInterf(eilute) = ""
eilute = eilute + 1
' PCMCIA ----------------------------------
Case "Win32_PCMCIAController"
List1.AddItem "PCMCIA Controller" & vbTab & Device.Caption & vbTab & "" & vbTab & ""
oDeviceType(eilute) = "PCMCIA Controller"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = ""
oDeviceInterf(eilute) = ""
eilute = eilute + 1
' TAPE -------------------------------------
Case "Win32_TapeDrive"
List1.AddItem "Tape Drive" & vbTab & Device.Caption & vbTab & Device.MaxMediaSize & vbTab & Device.Description
oDeviceType(eilute) = "Tape Drive"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = Device.MaxMediaSize
oDeviceInterf(eilute) = Device.Description
eilute = eilute + 1
' BATTERY-----------------------------------
Case "Win32_PortableBattery"
List1.AddItem "Portable Battery" & vbTab & Device.Caption & vbTab & "" & vbTab & Device.Chemistry
oDeviceType(eilute) = "Portable Battery"
oDeviceCaption(eilute) = Device.Caption
oDeviceParam(eilute) = ""
oDeviceInterf(eilute) = Device.Chemistry
eilute = eilute + 1
End Select
Next
End If
End Sub
Private Sub Command1_Click()
Call ScanH
End Sub
براي اجراي برنامه وديدن ليست تمامي سخت افزار ها برنامه را اجرا كرده و روي كامند يا دكمه كليد كنيد
با كمي تخيير ليست سخت افزار ها در ليست باكسي كه گزاشتيد اضافه مي شود
اميد وارم از اين پروژه هم حال كافي را با توجع به شعونات اسلامي كرده باشيد
پايان
تنظيم ميزان شفافيت فرم براي اين كار ما به ابزار اسكرول نياز داريم
vscrollbar
ابزار vscroll1 در جعبه ابزار پيش فرض ويژال موجود است ان را روي فرم بگزاريد
حالا كد زير را به فرم پيست كنيد
Option Explicit
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
Private Const LWA_ALPHA = &H2
Private Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" (ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" (ByVal hWnd As Long, _
ByVal nIndex As Long, ByVal dwNewLong As Long) _
As Long
Private Declare Function SetLayeredWindowAttributes Lib _
"user32" (ByVal hWnd As Long, ByVal crKey As Long, _
ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Sub Form_Load()
VScroll1.Max = 255
VScroll1.Min = 1
VScroll1.Value = 255
TranslucentForm Me, 255
End Sub
Public Function TranslucentForm(frm As Form, TranslucenceLevel As Byte) As Boolean
SetWindowLong frm.hWnd, GWL_EXSTYLE, WS_EX_LAYERED
SetLayeredWindowAttributes frm.hWnd, 0, TranslucenceLevel, LWA_ALPHA
TranslucentForm = Err.LastDllError = 0
End Function
Private Sub VScroll1_Change()
TranslucentForm Me, VScroll1.Value
End Sub
پايان
چطور ميزان شفافيت تسك بار ويندوز را تغيير دهيم
براي اين كار يك پروژه جديد باز كرده و ابزار زير را به روي فرم بگزاريد
HScrollbar
بعد از گزاشتن ابزار HScroll1 روي فرم كد زير را به فرم پيست كنيد
Private Sub Form_Load()
HScroll1.Max = 255
HScroll1.Min = 55
End Sub
Private Sub HScroll1_Change()
Dim LnLevel As Byte
LnLevel = HScroll1.Value
HScroll1 = LnLevel
SaveSetting App.EXEName, "Settings", "TransparencyLevel", HScroll1.Value
MakeTaskbarTransparent HScroll1.Value
End Sub
حالا يك ماژول Module1 به پروژه اضافه كرده و كد زير را به ماژول پيست كنيد
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
Private Const WS_EX_TRANSPARENT = &H20&
Private Const LWA_ALPHA = &H2&
Private Const SWP_HIDEWINDOW = &H80
Private Const SWP_SHOWWINDOW = &H40
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crey As Byte, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, lpRect As Any, ByVal bErase As Long) As Long
Private Declare Function UpdateWindow Lib "user32" (ByVal hwnd As Long) As Long
Private 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
Public Sub MakeTaskbarTransparent(ByVal bLevel As Byte)
Dim lOldStyle As Long
Dim LhWnd As Long
LhWnd = FindWindow("Shell_TrayWnd", vbNullString)
If (LhWnd <> 0) Then
lOldStyle = GetWindowLong(LhWnd, GWL_EXSTYLE)
SetWindowLong LhWnd, GWL_EXSTYLE, lOldStyle Or WS_EX_LAYERED
SetLayeredWindowAttributes LhWnd, 0, bLevel, LWA_ALPHA
End If
LhWnd = FindWindow("BaseBar", vbNullString)
If (LhWnd <> 0) Then
lOldStyle = GetWindowLong(LhWnd, GWL_EXSTYLE)
SetWindowLong LhWnd, GWL_EXSTYLE, lOldStyle Or WS_EX_LAYERED
SetLayeredWindowAttributes LhWnd, 0, bLevel, LWA_ALPHA
End If
End Sub
حالا برنامه را اجرا كرده و اسكرول hscroll1 را تغيير دهيد مي بينيد كه مقدار شفافيت تسك بار كم و
زيا د مي شود
پايان
چطور يك برنامه جستجو گر فايل ها را طراحي و كد نويسي كنيم منظورم اين كه يك برنامه بنويسيم كه
مثلا تمامي فايل هاي عكس موجود در درايو ها را براي ما پيدا كند وبه نمايش در اورد و يا هر نوع فايل ديگر
كه مي خاهيد
اين پروژه يك برنامه كاملا كاربردي بوده و حتما شما به اين نوع برنامه ها نياز داريد
براي شروع ابزار زير را روي فرم بگزاريد
combobox
commandButoon
listBox
textbox
picturebox
پس ابزار كامند يا دكمه و يك ليست باكس و يك تكست بوكس و يك كوكبو بوكس روي فرم بگزاريد
تكست بوكس براي انتخاب درايو مورد جستجو
كومند باتون يا دكمه براي انجام جستجو
ليست باكس براي نشان دادن فايل هاي پيدا شده
پيكجر بوكس براي نمايش فايل هاي عكس پيدا شده در ليست باكس
كومبو بوكس براي انتخاب نوع پسوند جستجو
حالا مي رسيم به كد نويسي كد هاي زير را به فرم پيست كنيد
Private Sub Command1_Click()
On Error GoTo ErrorHandler
Dim SearchPath As String, FindStr As String
Dim FileSize As Long
Dim NumFiles As Integer, NumDirs As Integer
Screen.MousePointer = vbHourglass
List1.Clear
SearchPath = Text1.Text
FindStr = Combo1.Text
FileSize = FindFiles(SearchPath, FindStr, NumFiles, NumDirs)
Screen.MousePointer = vbDefault
ErrorHandler:
End Sub
Function FindFiles(path As String, SearchStr As String, _
FileCount As Integer, DirCount As Integer)
Dim FileName As String
Dim DirName As String
Dim dirNames() As String
Dim nDir As Integer
Dim i As Integer
On Error GoTo sysFileERR
If Right(path, 1) <> "\" Then path = path & "\"
nDir = 0
ReDim dirNames(nDir)
DirName = Dir(path, vbDirectory Or vbHidden)
Do While Len(DirName) > 0
If (DirName <> ".") And (DirName <> "..") Then
If GetAttr(path & DirName) And vbDirectory Then
dirNames(nDir) = DirName
DirCount = DirCount + 1
nDir = nDir + 1
ReDim Preserve dirNames(nDir)
End If
sysFileERRCont:
End If
DirName = Dir()
Loop
FileName = Dir(path & SearchStr, vbNormal Or vbHidden Or vbSystem _
Or vbReadOnly)
While Len(FileName) <> 0
FindFiles = FindFiles + FileLen(path & FileName)
FileCount = FileCount + 1
List1.AddItem path & FileName
FileName = Dir()
Wend
If nDir > 0 Then
For i = 0 To nDir - 1
FindFiles = FindFiles + FindFiles(path & dirNames(i) & "\", _
SearchStr, FileCount, DirCount)
Next i
End If
AbortFunction:
Exit Function
sysFileERR:
If Right(DirName, 4) = ".sys" Then
Resume sysFileERRCont
Else
MsgBox "Error: " & Err.Number & " - " & Err.Description, , _
"Unexpected Error"
Resume AbortFunction
End If
End Function
Private Sub Form_Load()
Text1.Text = "c:\"
Combo1.AddItem ("*.jpg")
End Sub
Private Sub List1_Click()
Image1.Picture = LoadPicture(List1.List(List1.ListIndex))
End Sub
تعجب نكنيد كل كد همين بود حالا بعد از اجراي نرم افزار روي دكمه جستجو كليك كنيد
همانطور كه مي بينيد تمامي فايل هاي كه در درايوي انتخابي شما با پسوند انتخابي شما بوده
در ليست باكس اضافه مي شود
پايان
+ نوشته شده در جمعه سی و یکم فروردین ۱۳۸۶ ساعت 2:13 توسط جواد
|