art6









Ciekawsze funkcje API




Ciekawsze funkcje API

Poniżej opisze kilka fajnych funkcji API. Z pewnością
pomogą one nam napisać lepszy program. No to do działa :

Jak odtworzyć plik WAV ???
Bardzo łatwo. W module piszemy :
Public Const SND_ASYNC = &H1
Public Declare Function sndPlaySound Lib "winmm.dll"
Alias "sndPlaySoundA" (ByVal lpszSoundName As String,
ByVal uFlags As Long) As Long

A w miejscu, gdzie chcemy odtworzyć plik WAV piszemy :
Dim r As Integer
r = sndPlaySound(ByVal Sou + "plik.wav", SND_SYNC +
SND_NODEFAULT + SND_ASYNC)

Jak odczytać nazwę komputera
???
W module piszemy :
Public Declare Function
GetComputerName Lib "kernel32" Alias
"GetComputerNameA" (ByVal lpBuffer As String, nSize As
Long) As Long

A w miejscu gdzie chcemy odczytać nazwe
kompa piszemy :
Dim compname As String * 255, cname
As String
' Nazwa komputera nie może być dłuższa
x = GetComputerName(compname, 255)
' usuwamy spacje i końcowy vbNullChar
cname = Trim(compname)
cname = Left(cname, Len(cname) - 1)
If x <> 0 Then MsgBox "Witam na komputerze: " +
cname

Jak odczytać wersję WINDOWS'a
???
W module piszemy :
Public Declare Function GetVersionEx
Lib "kernel32" Alias "GetVersionExA"
(lpVersionInformation As OSVERSIONINFO) As Long

Public Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type

A w odpowiednim miejscu programu piszemy
:
Dim os As OSVERSIONINFO
os.dwOSVersionInfoSize = Len(os) ' długość zmiennej
x = GetVersionEx(os)
MsgBox "Masz windows w wersji :" +
Str(os.dwMajorVersion) + "." + Str(os.dwMinorVersion) +
Str(dwBuildNumber)

Jak uzyskać dźwięk BEEP ???
W module piszemy :
Public Declare Function Beep Lib
"kernel32" Alias "Beep" (ByVal dwFreq As
Long, ByVal dwDuration As Long) As Long

A w odpowiednim miejscu programu :
Call Beep(0, 0)

Jest jeszcze inny sposób, tj, bez żadnych deklaracji w
dowolnym miejscu programu wpisujemy BEEP
efekt ten sam, a dużo
mniej pisania

Czy w VB jest instrukcja podobna do DELAY z Turbo
Pascala ???
W module piszemy :
Public Declare Sub Sleep Lib
"kernel32" (ByVal dwMilliseconds As Long)

W kodzie programu piszemy :
Label1.Caption = "Demo funkcji Sleep -
2 sekundy"
Label1.Refresh
Sleep 2000 ' 2000 milisekund = 2 sekundy
Label1.Caption = "Juz koniec ..."
Label1.Refresh 'odśwież labla

Jak z poziomu VB, wyłączyć
komputer ???
Jeśli masz obudowę ATX, to wyłączając WINDOWS,
wyłącza się komputer (sam) tak, więc możesz napisać jakiś
program, który robi np Backup dysku a jak skończy to zamyka
WINDOWS (a windows wyłćza komputer). Dzięki temu możesz w tym
czasie być nieobecny przy kompie np. spać. A oto co musimy
napisać w module :
Public Declare Function
ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal
dwReserved As Long) As Long

A miejscu gdzie chcemy zamknąć windows :
x = ExitWindowsEx(EWX_REBOOT, 0)
If x = 0 Then Beep: MsgBox "Błąd podczas próby restartu
systemu!"

To by było na tyle. Przykłady zaczerpnąłem (w
większości) z pliku pomocy API, który można ściągnąć ze
strony www.vbtools.prv.pl
tam jest dużo więcej ciekawych funkcji API.

Jelcyn






Wyszukiwarka

Podobne podstrony:
ART6 (7)
art6
ART6 (13)
art6
art6
ART6 (14)
art6
art6
ART6 (11)
art6

więcej podobnych podstron