ZdrojovΘ k≤dy 


Dbgwproc.dll

Program

Ikona v system tray

Program

Informace o systΘmu

Program

Typ procesoru

Program

Pr∙hledn² taskbar

Program

Sloupce v ListBoxu

Program

Timezone

Program

EnsureVisible

Program

DragListBox

Program

CD monitor

Program

Drag controls

Program

Windows 2000 services

K≤d

JmΘno poΦφtaΦe a domΘny

K≤d

Seznam domΘn pomocφ ADSI

K≤d

Pr∙hledn² formulß°

K≤d

GetCurrencyFormat

API

ClipCursor

API

GetClipCursor

API


Dbgwproc.dll
 

N∞kterΘ p°φklady, kterΘ tentokrßt uvßdφme, pot°ebujφ pro sv∙j b∞h tuto knihovnu od Microsoftu.

5904 byt∙

Kopφrovat

Ikona v system tray
 

Umφstit ikonu do oblasti SystemTray ve Windows 9x u₧ dnes asi umφ ka₧d². V tomto p°φkladu se nauΦφte vyu₧φt nov²ch mo₧nostφ systΘmu Windows 2000.

53711 byt∙

Kopφrovat

Informace o systΘmu
 

P°φklad zjiÜ¥uje zßkladnφ informace o systΘmu Windows 2000, nap°. typ procesoru, velikost pam∞ti atd. Pro zjiÜ¥ovßnφ pou₧φvß rozhranφ WMI.

2620 byt∙

Kopφrovat

Typ procesoru
 

P°φklad umφ zjistit informace o procesoru pomocφ rozhranφ WMI (Windows Management Interface). Pokud nemßte Windows 2000, musφte si je stßhnout a nainstalovat ze strßnek Microsoftu.

3233 byt∙

Kopφrovat

Pr∙hledn² taskbar
 

Windows 2000 umo₧≥ujφ nastavovat pr∙hlednost TaskBaru. Jak na to ve Visual Basicu ukazuje tento p°φklad.

46830 byt∙

Kopφrovat

Sloupce v ListBoxu
 

Zobrazuje sloupce v ListBoxu pomocφ nastavenφ tabulßtor∙.

2238 byt∙

Kopφrovat

Timezone 
 

Zobrazuje informace o ΦasovΘ z≤n∞, na kterou je poΦφtaΦ nastaven.

3693 byt∙

Kopφrovat

EnsureVisible
 

Vlastnost EnsureVisible prvku TreeView urΦit∞ znßte. Tento p°φklad ukazuje podobnou funkci, ale u prvk∙ na MDI child formulß°φch.

4903 byt∙

Kopφrovat

DragListBox
 

Zdrojov² k≤d prvku, ListBoxu, kter² umo₧≥uje p°esouvat jednotlivΘ polo₧ky pomocφ myÜi.

10333 byt∙

Kopφrovat

CD monitor
 

P°φklad pou₧itφ t°φdy CDMonitor, kterß umφ zjistit, zda n∞kdo do CD mechniky vlo₧il nebo vyjmul CD.

6880 byt∙

Kopφrovat

  Drag controls
 

Ukazuje, jak h²bat s prvky pomocφ funkce API SendMessage.

1801 byt∙

Kopφrovat

Windows 2000 services - P°φklad zobrazφ seznam definovan²ch slu₧eb (service) v systΘmu Windows 2000 pomocφ Active Directory. Abyste mohli vyskouÜet tento p°φklad, musφte p°idat odkaz na Active DS Type Library a mφt samoz°ejm∞ Windows 2000.

Dim oSysInfo As New ActiveDs.WinNTSystemInfo
Dim oComp As ActiveDs.IADsComputer
Dim oSvc As ActiveDs.IADsService
Dim sCompName As String

sCompName = "WinNT://" & oSysInfo.ComputerName & ",computer"
Set oComp = GetObject(sCompName)
oComp.Filter = Array("Service")
For Each oSvc In oComp
  Debug.Print oSvc.DisplayName, oSvc.Status
Next
Set oComp = Nothing

  JmΘno poΦφtaΦe a domΘny - Pomocφ Active Directory m∙₧ete ve Windows 2000 zjistit jmΘno poΦφtaΦe a domΘny velmi jednoduÜe (pro fungovßnφ p°φkladu musφte p°idat odkaz na Active DS Type Library).

Dim oSysInfo As New ActiveDs.WinNTSystemInfo

Debug.Print oSysInfo.ComputerName
Debug.Print oSysInfo.DomainName

Set oSysInfo = Nothing

  Seznam domΘn - Seznam domΘn zφskßte pomocφ nßsledujφcφho jednoduchΘho k≤du (pro fungovßnφ p°φkladu musφte p°idat odkaz na Active DS Type Library).

Dim ns As IADsContainer, dom As IADs

Set ns = GetObject("WinNT:")
For Each dom In ns
  Debug.Print dom.Name, dom.ADsPath
Next

  Pr∙hledn² formulß° - Windows 2000 umo₧≥ujφ nastavit okn∙m stupe≥ pr∙hlednosti pomocφ funkce API SetLayeredWindowAttributes. Stupe≥ pr∙hlednosti m∙₧e nab²vat hodnot z intervalu 0-255 (255 je nepr∙hlednΘ okno). Okno, kterΘmu chcete nastavit pr∙hlednost, musφ b²t vytvo°eno pomocφ API CreateWindowEx s parametrem WS_EX_LAYERED nebo tento parametr musφte nastavit pomocφ API SetWindowLong.

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

Public Function TranslucentForm(ByVal hw As Long, ByVal TranslucenceLevel As Byte) _
As Boolean
  SetWindowLong hW, GWL_EXSTYLE, WS_EX_LAYERED
  SetLayeredWindowAttributes hW, 0, TranslucenceLevel, LWA_ALPHA
  TranslucentForm = (Err.LastDllError = 0)
End Function

'p°φklad pou₧itφ
Private Sub Form_Load()
  TranslucentForm Me, 128
End Sub

  GetCurrencyFormat - Funkce formßtuje m∞nu podle nastavenφ systΘmu. Pokud nastane chyba, vrßtφ funkce hodnotu 0, jinak poΦet znak∙ vlo₧en²ch do parametru lpCurrencyStr

Declare Function GetCurrencyFormat Lib "kernel32" Alias "GetCurrencyFormatA" _
  (ByVal Locale As Long, ByVal dwFlags As Long, ByVal lpValue As String, _
   lpFormat As Any, ByVal lpCurrencyStr As String, 
   ByVal cchCurrency As Long) As Long

Type CURRENCYFMT
  NumDigits As Long
  LeadingZero As Long
  Grouping As Long
  lpDecimalSep As String
  lpThousandSep As String
  NegativeOrder As Long
  PositiveOrder As Long
  lpCurrencySymbol As String
End Type

 

Locale
jedna z t∞chto dvou hodnot:

LOCALE_SYSTEM_DEFAULT = &H400 standardnφ systΘmovΘ nastavenφ
LOCALE_USER_DEFAULT = &H800nastavenφ aktußlnφho u₧ivatele

dwFlags
pro zobrazenφ aktußlnφho nastavenφ nastavte na 0

lpValue
hodnota, kterß bude formßtovßna

lpFormat
pokud chcete pou₧φt systΘmovΘ nastavenφ, nastavte na 0, chcete-li vlastnφ formßtovßnφ, musφte zadat prom∞nnou typu CURRENCYFMT

NumDigits
poΦet Φφsel za desetinnou teΦkou

LeadingZero
pokud nastavφte na Φφslo r∙znΘ od nuly, bude dopl≥ovat chyb∞jφcφ Φφslice 0, nap°. pokud je NumDigits nastaveno na 2 a zadßte Φφslo 1.2, vytvo°φ 1.20

Grouping
poΦet Φφsel v ka₧dΘ skupin∞ (v∞tÜinou 3, nap°. 1 221 223 154)

lpDecimalSep
znak pro desetinnou teΦku

lpThousandSep
znak pro odd∞lenφ skupin

NegativeOrder
zp∙sob zobrazovßnφ zßporn²ch hodnot
0
($1.1)
1
-$1.1
2
$-1.1
3
$1.1-
4
(1.1$)
5
-1.1$
6
1.1-$
7
1.1$-
8
-1.1 $
9
-$ 1.1
10
1.1 $-
11
$ 1.1-
12
$ -1.1
13
1.1- $
14
($ 1.1)
15
(1.1 $)

PositiveOrder
zp∙sob zobrazovßnφ kladn²ch hodnot
0
$1.1
1
1.1$
2
$ 1.1
3
1.1 $

CurrencySymbol
symbol m∞ny

lpCurrencyStr
do tΘto prom∞nnΘ je vrßcen formßtovan² °et∞zec

cchCurrency
dΘlka prom∞nnΘ lpCurrencyStr

 

Dim udtCurrency As CURRENCYFMT
Dim str As String, ret As Long

'systΘmovΘ nastavenφ
str = Space(256)
ret = GetCurrencyFormat _
  (LOCALE_USER_DEFAULT, 0, "98765432.21", ByVal CLng(0), _
   str, Len(str))
Debug.Print Left(str, ret)

'vlastnφ nastavenφ
With udtCurrency
  .NumDigits = 4
  .LeadingZero = 1
  .Grouping = 3
  .lpDecimalSep = "."
  .lpThousandSep = ","
  .NegativeOrder = 8
  .PositiveOrder = 3
  .lpCurrencySymbol = "DEM"
End With

str = Space(256)
ret = GetCurrencyFormat _
  (LOCALE_USER_DEFAULT, 0, "98765432.21", udtCurrency, _
   str, Len(str))
Debug.Print Left(str, ret)
   
'funkce Visual Basicu
Debug.Print FormatCurrency("98765432.21")

ClipCursor - Funkce uzamkne kurzor myÜi v obdΘlnφkovΘ oblasti na obrazovce. Pokud u₧ivatel "p°ejede" okraje oblasti nebo nastavφ pozici kurzoru mimo oblast, kurzor se vrßtφ ihned zp∞t. Kurzor je v oblasti uv∞zn∞n i kdy₧ je program ukonΦen. Pokud funkce skonΦφ v po°ßdku, vrßtφ jakoukoliv nenulovou hodnotu, v p°φpad∞ v²skytu chyby vrßtφ 0.

Declare Function ClipCursor Lib "user32.dll" (lpRect As RECT) As Long

Type RECT
  left As Long
  top As Long
  right As Long
  bottom As Long
End Type
lpRect

prom∞nnß typu RECT, kde left a top znamenß sou°adnice x a y levΘho hornφho rohu a right a bottom sou°adnice x a y dolnφho pravΘho rohu oblasti (sou°adnice se zadßvajφ v pixelech)

'Zamkne myÜ v oblasti formulß°e pomocφ VB
Private Sub ZamkniMysFrm(frm As Form)
  Dim r As RECT
  With frm
    r.left = .left / Screen.TwipsPerPixelX
    r.right = (.left + .Width) / Screen.TwipsPerPixelX
    r.top = .top / Screen.TwipsPerPixelY
    r.bottom = (.top + .Height) / Screen.TwipsPerPixelY
  End With
  ClipCursor r
End Sub

'Odemkne myÜ pomocφ VB
Private Sub OdemkniMys()
  Dim r As RECT
  With Screen
    r.left = 0
    r.right = .Width / .TwipsPerPixelX
    r.top = 0
    r.bottom = .Height / .TwipsPerPixelY
  End With
  ClipCursor r
End Sub

'RychlejÜφ varianta v²Üe uveden²ch funkcφ pomocφ API
Private Sub ZamkniMysFrm(frm As Form)
  Dim r As RECT
  GetWindowRect frm.hwnd, r
  ClipCursor r
End Sub

Private Sub OdemkniMys()
  Dim r As RECT, hw As Long
  hw = GetDesktopWindow()
  GetWindowRect hw, r
  ClipCursor r
End Sub

GetClipCursor - Funkce vracφ sou°adnice obdΘlnφku, ve kterΘm se m∙₧e pohybovat myÜ. Pokud nastane chyba, vracφ funkce hodnotu 0, v opaΦnΘm p°φpad∞ jakoukoliv nenulovou hodnotu.

Declare Function GetClipCursor Lib "user32.dll" (lprc As RECT) As Long

Type RECT
  left As Long
  top As Long
  right As Long
  bottom As Long
End Type
lprc

prom∞nnß typu RECT, do kterΘ jsou vrßceny sou°adnice oblasti (left a top znamenß sou°adnice x a y levΘho hornφho rohu a right a bottom sou°adnice x a y dolnφho pravΘho rohu oblasti - sou°adnice jsou v pixelech)

Dim r As RECT
  
GetClipCursor r
Debug.Print "Lev² hornφ roh (x,y) " & r.left & "," & r.top
Debug.Print "Prav² dolnφ roh (x,y) " & r.right & "," & r.bottom