Ter beveiliging van onze software maken wij gebruik van een 'dongle', hetgeen in feite niks meer is dan een memory stick.
Het bepalen of de 'beveiligings-dongle' is gekoppeld aan het systeem, wordt op de volgende manier gedaan:
Aangezien een memory stick verschillende drive letters toegewezen kan krijgen, ga ik voor elk letter in het alfabet de bovenstaande instructie uitvoeren.
Wanneer een memory stick gedetecteerd is, wordt met behulp van de volgende instructie bepaald of dit ook de 'beveiligings-dongle' is (er moet een bestand aanwezig zijn met de naam 'bestandsnaam'):
Helaas, het komt voor dat er meerdere USB poorten op een systeem aanwezig zijn (bijv. er is een USB HUB aan het systeem gekoppeld). Het geval wil nu dat Windows een (naar mijn mening) niet af te vangen fout genereerd wanneer men een 'removable drive' gaat benaderen (oftewel, een floppydrive of de USB poorten op de USB hub) waar GEEN media in zit. De welbekende 'there is no media inserted. retry, ignore, cancel' of iets van die strekking.
Weet iemand een manier waarmee toch iedere 'removable drive' gecontroleerd kan worden, maar deze drive overslaat wanneer deze geen media bevat?
Het bepalen of de 'beveiligings-dongle' is gekoppeld aan het systeem, wordt op de volgende manier gedaan:
Delphi:
1
| GetDriveType( 'i:\') ) = DRIVE_REMOVABLE |
Aangezien een memory stick verschillende drive letters toegewezen kan krijgen, ga ik voor elk letter in het alfabet de bovenstaande instructie uitvoeren.
Wanneer een memory stick gedetecteerd is, wordt met behulp van de volgende instructie bepaald of dit ook de 'beveiligings-dongle' is (er moet een bestand aanwezig zijn met de naam 'bestandsnaam'):
Delphi:
1
| FileExists( 'i:\bestandsnaam' ) |
Helaas, het komt voor dat er meerdere USB poorten op een systeem aanwezig zijn (bijv. er is een USB HUB aan het systeem gekoppeld). Het geval wil nu dat Windows een (naar mijn mening) niet af te vangen fout genereerd wanneer men een 'removable drive' gaat benaderen (oftewel, een floppydrive of de USB poorten op de USB hub) waar GEEN media in zit. De welbekende 'there is no media inserted. retry, ignore, cancel' of iets van die strekking.
Weet iemand een manier waarmee toch iedere 'removable drive' gecontroleerd kan worden, maar deze drive overslaat wanneer deze geen media bevat?