Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Artiklar / Titel på artikeln

Lathund - API-anrop

Postad 2002-08-30 av Mats Hindhede i sektionen ASP.NET, C#, Okategoriserat med 0 Kommentarer | Läst av: 8768, Betyg: 71%

Förord

Ibland vill man anropa en procedur som finns i ett Dynamic Link Library (en fil med filändelsen DLL). Då måste man först deklarera proceduren genom att använda uttrycket Declare framför uttrycken Function eller Sub.
Innehåll
  » API-anrop
Relaterade artiklar
  » Lathund - Arrayer, egna datatyper och numreringar
  » Lathund - Databaser
  » Lathund - Felhantering
  » Lathund - Grundläggande syntax
  » Lathund - Inbyggda funktioner
  » Lathund - Klassmoduler
  » Lathund - Kortkommandon
  » Lathund - Namngivning och deklarationer
  » Lathund - Några extra tips
  » Lathund - Slingor och operatorer
  » Lathund - Spara, öppna och skriva ut filer
  » Lathund - Variablers och konstanters räckvidd


API-anrop

Ett exempel:


Public Declare Function Beep Lib "Kernel32.dll" _
(ByVal lngFrequency As Long, ByVal lngDuration As Long) As Long


Man kan skriva detta i huvudet av en standardmodul. Filändelsen .dll kan utelämnas.

I exemplet deklarerades en funktion som heter Beep. Funktionen Beep finns i filen Kernel32.dll och har två argument med datatypen Long. Argumenten kan man kalla vad man vill. I exemplet kallas de lngFrequency och lngDuration. Funktionen Beep har även ett returvärde med datatypen Long.

På en annan plats i projektet kan man sedan deklarera en lokal variabel med datatypen Long, den kan t ex heta lngReturnValue, och anropa funktionen Beep genom att skriva


lngReturnValue = Beep(3000, 5000)


om man vill höra ett 5 sekunder långt pip med frekvensen 3000 Hz. Detta fungerar i Windows NT 4.0, 2000 och XP. I Windows 95, 98 och Me hörs bara ett av standardljuden i Windows, oavsett vilka värden man ger funktionens argument.

Ovan beskrivna teknik kallas API-anrop. (API betyder Application Programming Interface.) Som synes kan man inte räkna med att alla API-anrop fungerar i alla versioner av Windows.

Hemlighet om API-anrop: I en procedur som deklareras med uttrycket Declare skriver man alltid ordet ByVal framför argument med datatypen String. Trots det kan proceduren ändå påverka värdena av de variabler som den anropande proceduren skickar som argument. Detta konstiga undantag beror på att strängar hanteras annorlunda i programmeringsspråken C och C++, som Microsoft har använt för att skapa DLL-filerna.

I Visual Basic använder man främst anrop till procedurer i filerna User32.dll, Kernel32.dll, Gdi32.dll, Shell32.dll, Advapi32.dll, Comdlg32.dll och Winmm.dll. På så sätt kommer man åt många finesser som är inbyggda i Windows. Hur kan man veta vilka procedurer som finns i olika DLL-filer, vilka argument och returvärden procedurerna har och vad de kan användas till? Microsoft ger tyvärr inte mycket hjälp på det här området, men AllAPI Network är en mycket bra webbplats för dig som vill veta mera om API-anrop.
Upp

0 Kommentarer

Skriv en kommentar på artikeln

Ditt betyg på artikeln



Kommentar:





Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 153
27 952
271 704
1 075
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies