Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

VB6: Schrijf-beveiliging controleren

Anoniem
None
2 antwoorden
  • Hallo,

    Iemand enig idee hoe je kan controleren of een diskette
    beveiligd is tegen schrijven/wissen?

    [code:1:ce74bcaf42]Public Function DiskReady() As Boolean
    On Error Resume Next
    Err.Clear
    Dir "A:"
    DiskReady = (Err.Number = 0)
    End Function[/code:1:ce74bcaf42]

    Deze functie kijkt wel of er een diskette in zit, maar niet of deze
    beveiligd is.

    De IsReady functie van het FileSystemObject kijkt of de drive zelf
    beschikbaar is, dus dat zoek ik ook niet.

    Ik kan natuurlijk wel een bestandje proberen te schrijven, maar dit
    lijkt me erg 'high-level'. Bovendien moet je hem ook weer wissen
    als het wel lukt om te schrijven…

    Kan het niet makkelijker/netter?

    Groetjes Rob
  • Hmm, nee, het bestandje schrijven lijkt me de enige methode. VB kan hier overigens heel goed mee overweg (errorlevels)

    je krijgt een run-time error 70: permission denied


    Plats dit in je sub:
    [code:1:00007a7320]On Error GoTo respond 'fouten afvangen
    Open "A:\~VB!.tmp" For Output As #1 'bestand openen
    Close 'sluiten
    Kill "A:\~VB!.tmp" 'wissen
    eindelus:
    'ga hier verder
    Exit Sub

    respond:
    fout = Err.Number
    On Error GoTo 0
    If fout = 70 Then
    MsgBox "Schijf is tegen schrijven beveiligd!"
    Resume eindelus
    Else
    Error fout
    End If[/code:1:00007a7320]

    Dit levert op:
    Schrijven beveiligd (fout 70) – "Schijf is tegen schrijven beveiligd"
    Andere fout (bv Geen floppy (fout 71)) – "Run-time error 71 - disk not ready" en vliegt in debug mode
    Schijf OK – geeft niets

    of om in jouw stijl te blijven:
    [code:1:00007a7320]Public Function DiskReadyToWrite() As Boolean
    On Error Resume verder
    Err.Clear
    Open "A:\~VB!.tmp" For Output As #1:close:kill
    verder:
    DiskReadyToWrite = (Err.Number = 0)
    End Function[/code:1:00007a7320]
    Dit is een betere diskready dan die van jou, die van mij vliegt er ook uit als er dus geen flopyp in zit OF hij schrijfbeveiligd is… mss ook wel alstie vol is :-)

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.