Страница: 1 | 
		
		 
			   
			 
			 
			 
			 Страница: 1 | 
 
			
 
  
		
     
  
    
Вопрос: Вызов API функции  в VBA и vb.Net
     
    
Добавлено: 11.01.11 22:13
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
    
 Anatoly
      
       
  
Вот код (получение серийного номера диска), который работает в VBA:
 
    
Private Declare Function GetVolumeInformation _
    Lib "kernel32" Alias "GetVolumeInformationA" _
    (ByVal lpRootPathName As String, _
    ByVal pVolumeNameBuffer As String, _
    ByVal nVolumeNameSize As Long, _
    lpVolumeSerialNumber As Long, _
    lpMaximumComponentLength As Long, _
    lpFileSystemFlags As Long, _
    ByVal lpFileSystemNameBuffer As String, _
    ByVal nFileSystemNameSize As Long) As Long
Sub Main()
    Dim drv As String
    drv = InputBox("Enter drive for checking SN")
    MsgBox Hex$(GetSerialNumber(drv))
End Sub
Public Function GetSerialNumber( _
    ByVal sDrive As String) As Long
    If Len(sDrive) Then
        If InStr(sDrive, "\\") = 1 Then
            ' Make sure we end in backslash for UNC
            If Right$(sDrive, 1) <> "\" Then
                sDrive = sDrive & "\"
            End If
        Else
            ' If not UNC, take first letter as drive
            sDrive = Left$(sDrive, 1) & ":\"
        End If
    Else
        ' Else just use current drive
        sDrive = vbNullString
    End If
    
    ' Grab S/N -- Most params can be NULL
    Call GetVolumeInformation( _
        sDrive, vbNullString, 0, GetSerialNumber, _
        ByVal 0&, ByVal 0&, vbNullString, 0)
End Function
В vb.Net ругается на
пишет, что "требуется выражение"
Как исправить?
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 4
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа:
 Skywalker
![]()
![]()
![]()
![]()
![]()
![]()
ICQ: 300-70-6пятьЪ 
Вопросов: 62
Ответов: 545
      
 Web-сайт:  
 Профиль |  | #1
      
Добавлено:  12.01.11 03:43
       
    
       
  
добавляешь библиотеку (Add Reference) System.Management
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа:
 Anatoly
![]()
![]()
Вопросов: 2
Ответов: 2
      
 Профиль |  | #2
       
Добавлено:  12.01.11 22:28
       
    
       
  
Спасибо.
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа:
 Дмитрий Юпатов
![]()
![]()
![]()
![]()
![]()
Вопросов: 4
Ответов: 457
      
 Web-сайт:  
 Профиль |  | #3
      
Добавлено:  13.01.11 07:29
       
    
       
  
это типа защита интеллектуальной собственности, да? Тогда не стоит привязываться к номеру логического тома - он меняется на "раз"
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа:
 AgentFire
![]()
![]()
![]()
ICQ: 192496851 
Вопросов: 75
Ответов: 3178
      
 Профиль |  | #4
       
Добавлено:  13.01.11 13:10
       
    
       
  
привяжись к физическому серийнику.