Newsgroup: it.comp.lang.visual-basic
Titolo: [VB60] - Problemi con le API Windows.

Salve a tutti,
stò realizzando un OCX il cui scopo è quello di funzionare da interfaccia
alle API di Windows per la gestione dei file. Ma nel realizzarla ho avuto
alcuni problemi con una funzione, la CreateFile non riesco a capire cosa
faccio che non va.
Qualcuno potrebbe mandarmi un esempio di come dichiarare in vb tale funzione
e come usarla ?
Michele Celli
----------------------
Roma - Italy

Ti incollo un esempio in cui c'č anche quello che serve a te. Ti lascio
tutto come č perchč non mi va di cancellare i pezzi inutili :P
Saluti...
'This project needs a Common Dialog box, named CDBox.
'  (To add the
Common Dialog Box to your tools menu, go to Project->Components (or press
CTRL-T)
'   and select Microsoft Common Dialog control)
Private Type
FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type
Private Type SYSTEMTIME
    wYear As Integer
    wMonth As Integer
wDayOfWeek As Integer
    wDay As Integer
    wHour As Integer
wMinute As Integer
    wSecond As Integer
    wMilliseconds As Integer
End Type
Private Const GENERIC_WRITE = &H40000000
Private Const
OPEN_EXISTING = 3
Private Const FILE_SHARE_READ = &H1
Private Const
FILE_SHARE_WRITE = &H2
Private Declare Function CreateFile Lib "kernel32"
Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As
Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal
dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal
hTemplateFile As Long) As Long
Private Declare Function SetFileTime Lib
"kernel32" (ByVal hFile As Long, lpCreationTime As FILETIME,
lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) As Long
Private
Declare Function SystemTimeToFileTime Lib "kernel32" (lpSystemTime As
SYSTEMTIME, lpFileTime As FILETIME) As Long
Private Declare Function
CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare
Function LocalFileTimeToFileTime Lib "kernel32" (lpLocalFileTime As
FILETIME, lpFileTime As FILETIME) As Long
Private Sub Form_Load()
'KPD-Team 1998
    'URL: 
http://www.allapi.net/
    'KPD...@Allapi.net
Dim m_Date As Date, lngHandle As Long
    Dim udtFileTime As FILETIME
Dim udtLocalTime As FILETIME
    Dim udtSystemTime As SYSTEMTIME
m_Date = Format(Now, "DD-MM-YY")
    'Set the dialog's title
cdbox.DialogTitle = "Choose a file ..."
    'Set the dialog's filter
cdbox.Filter = "All Files (*.*)|*.*"
    'Show the 'Open File'-dialog
cdbox.ShowOpen
    udtSystemTime.wYear = Year(m_Date)
udtSystemTime.wMonth = Month(m_Date)
    udtSystemTime.wDay = Day(m_Date)
udtSystemTime.wDayOfWeek = Weekday(m_Date) - 1
    udtSystemTime.wHour =
Hour(m_Date)
    udtSystemTime.wSecond = Second(m_Date)
udtSystemTime.wMilliseconds = 0
    ' convert system time to local time
SystemTimeToFileTime udtSystemTime, udtLocalTime
    ' convert local time
to GMT
    LocalFileTimeToFileTime udtLocalTime, udtFileTime
    ' open
the file to get the filehandle
    lngHandle = CreateFile(cdbox.FileName,
GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&,
OPEN_EXISTING, 0, 0)
    ' change date/time property of the file
SetFileTime lngHandle, udtFileTime, udtFileTime, udtFileTime
    ' close
the handle
    CloseHandle lngHandle
    MsgBox "The date of the file '"
+ cdbox.FileName + "' has been changed to" + Str$(m_Date), vbInformation +
vbOKOnly, App.Title
End Sub
--------------------------------
Inviato via 
http://usenet.iol.it
 

e come usarla ?
Non ho capito...
Cosa devi fare esattamente? che io sappia in vb ci sono 18 mila modi per
fare ogni cosa (come in qualsiasi altro linguaggio di programmazione);
magari non bisogna per forza usare la createFile...
Spiegami...
Ciao!
Davide
-- 
Volontario Anti-Troll (TM) 
SecurFaq: 
http://members.nbci.com/gouldukat/
DocTrolls: 
http://it.geocities.com/roccopapaleo/faq/italiano/Troll.html
Netiquette: 
http://www.inferentia.it/netiquette/dis.html

Ho provato l'esempio da te inviato e farebbe proprio al caso mio mi mi
accade la stessa cosa, ovvero, dopo che ho selezionato il file o che ho
immesso direttamente il nome del file quando chiamo la CreateFile questa
maledetta mi ritorna sempre -1.

 wrote in message
news:9ietip$8fr$1...@usenet.inwind.it...

Evidentemente c'e' qualche errore nel modo in cui chiami l'API.
Posta un po' dicodice.
Ciaotutti,
Asterix