| |
VB.NET - Ein- und UmsteigerRe: Laufwerksbezeichnung | | | Autor: GPM | Datum: 26.06.07 16:50 |
| Also nochmal
Zuerst:
Projekt / Verweis hinzufügen / System.Management
Ich habe doch extra darauf hingewiesen.
MfG GPM | |
Laufwerksbezeichnung | | | Autor: heine1988 | Datum: 24.06.07 08:19 |
| Hallo allerseits,
nur eine Frage zu VB.Net, gibt es nicht eine vom Werk eingestellte Laufwerksnummer oder Bezeichung der verwendeten Festplatte/Laufwerk, welche nicht geändert werden kann? Wenn ja, wie kann man diese Bezeichnung in VB.Net aufrufen?
Danke für jeden Hinweis. | |
Re: Laufwerksbezeichnung | | | Autor: GPM | Datum: 24.06.07 09:33 |
| Probiere das mal:
(Zuerst Verweis auf System.Management setzen)
Imports System.Management
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
Dim mo As ManagementObject = New ManagementObject( _
"Win32_LogicalDisk.DeviceID='C:'")
For Each pd As PropertyData In mo.Properties
If pd.Name = "VolumeSerialNumber" Then
Me.Text = pd.Name & " = " & pd.Value.ToString
End If
Next
End Sub
End Class MfG GPM | |
Re: Laufwerksbezeichnung | | | Autor: heine1988 | Datum: 25.06.07 07:09 |
| Danke, probiere ich heute noch aus. | |
Re: Laufwerksbezeichnung | | | Autor: heine1988 | Datum: 26.06.07 16:23 |
| Hallo GPM,
ich habe den Code in ein neues Fenster kopiert, leider gibt es schon eine Fehlermeldung:
'Der in Imports "System.Management" angegebene Namespace oder Typ enthält keine öffentliche Member oder kann nicht gefunden werden. Stellen Sie sicher, dass der Namespace oder Typ definiert ist und mindestens einen öffentlichen Member enthält und dass der importierte Elementname keine weiteren Aliase enthält.'
Ich habe im Objektbrowser nachgesehen, der Namespace ist vorhanden. Muß ich irgenwo noch etwas extra einfügen oder Verweise einstellen?
Ich danke für eine weitere Hilfestellung
heine1988 | |
Re: Laufwerksbezeichnung | | | Autor: TheCrowOfSorrow | Datum: 26.06.07 17:03 |
| Hier noch eine Alternative:
(Form1 und Button anlegen)
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Vom Windows Form Designer generierter Code "
Public Declare Function GetVolumeInformation Lib "kernel32.dll" _
Alias "GetVolumeInformationA" _
(ByVal lpRootPathName As String, _
ByVal lpVolumeNameBuffer As String, _
ByVal nVolumeNameSize As Integer, _
ByRef lpVolumeSerialNumber As Integer, _
ByRef lpMaximumComponentLength As Integer, _
ByRef lpFileSystemFlags As Integer, _
ByVal lpFileSystemNameBuffer As String, _
ByVal nFileSystemNameSize As Integer) _
As Integer
Public Structure SerialInfo
Public drivenumber As String
Public serialnumber As String
End Structure
Public Function Lowbyte(ByRef ptradress As Integer) As Integer
Return ptradress And &HFFFF
End Function
Public Function Highbyte(ByRef ptradress As Integer) As Integer
If (ptradress And &H80000000) = &H80000000 Then
Return ((ptradress And &H7FFF0000) \ &H10000) Or &H8000&
Else
Return (ptradress And &HFFFF0000) \ &H10000
End If
End Function
Public Function EnumSerialNumber(ByVal lpRootPathName As String) As _
SerialInfo
Dim lpVolumeNameBuffer As New String(" ", 255)
Dim lpVolumeSerialNumber As Integer
Dim lpMaximumComponentLength As Integer
Dim lpFileSystemFlags As Integer
Dim lpFileSystemNameBuffer As New String(" ", 255)
Dim si As New SerialInfo
GetVolumeInformation(lpRootPathName, _
lpVolumeNameBuffer, _
lpVolumeNameBuffer.Length, _
lpVolumeSerialNumber, _
lpMaximumComponentLength, _
lpFileSystemFlags, _
lpFileSystemNameBuffer, _
Len(lpFileSystemNameBuffer))
Try
si.drivenumber = lpRootPathName
Dim lw As Integer = Lowbyte(lpVolumeSerialNumber)
Dim hw As Integer = Highbyte(lpVolumeSerialNumber)
si.serialnumber = Hex(hw).PadLeft(4, "0") & "-" & Hex(lw).PadLeft( _
4, "0")
Return si
Catch ex As Exception
End Try
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles Button1.Click
Me.TextBox1.Text = EnumSerialNumber("C:").serialnumber
End Sub
End Class Ist ein wenig umständlicher, aber tuts auch mit dem FW1.1 ;)
Das Meiste wird deshalb nicht getan, weil es nicht unternommen wird.
| |
Re: Laufwerksbezeichnung | | | Autor: heine1988 | Datum: 27.06.07 07:19 |
| Hallo GPM,
danke nochmal für den Rüffler, habe natürlich den Verweis im Projekt vergessen.
Es sind die einfachen Dinge im Leben an denen man scheitert
Es funktioniert natürlich.
Danke nochmal.
heine1988 | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Neu! sevCoolbar 3.0
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|