Publié : mar. 29/janv./2008 19:52
J'ai trouvé un truc pour window 98 et 2000, je sais pas ce que ça vaut.
http://windows.ittoolbox.com/groups/tec ... der-807198
http://windows.ittoolbox.com/groups/tec ... der-807198
Forums PureBasic - Français
http://forums.purebasic.com/french/
Code : Tout sélectionner
; http://forum.webmaster-elite.de/purebasic/234-virtual-drives.html
Procedure CreateVirtualDrive (TargetFolder.s,DriveLetter.s)
If CreateDirectory (TargetFolder.s) And SetFileAttributes_(TargetFolder.s,#FILE_ATTRIBUTE_HIDDEN)
ProcedureReturn DefineDosDevice_(0 ,DriveLetter.s,TargetFolder.s)
EndIf
EndProcedure
Procedure DeleteVirtualDrive (TargetFolder.s,DriveLetter.s)
If DefineDosDevice_(#DDD_REMOVE_DEFINITION ,DriveLetter.s,TargetFolder.s)
ProcedureReturn DeleteDirectory (TargetFolder.s,"*.*",#PB_FileSystem_Recursive| #PB_FileSystem_Force)
EndIf
EndProcedure
Enumeration
#Window_0
#menu
#help
#hilfe
EndEnumeration
;- Gadget Constants
;
Enumeration
#driveletter
#bittewahl_text
#erstellen
;#DELETE
#texthelp
EndEnumeration
Procedure Open_Window_0()
If OpenWindow(#Window_0, 400, 400, 185, 125, #PB_Window_TitleBar , "WME Virtual drives")
If CreateGadgetList(WindowID())
ComboBoxGadget(#driveletter, 100, 30, 50, 200)
TextGadget(#bittewahl_text, 20, 30, 70, 20, "Bitte wählen:")
ButtonGadget(#erstellen, 10, 80, 80, 20, "Erstellen")
ButtonGadget(#DELETE, 100, 80, 80, 20, "Löschen")
AddGadgetItem(#driveletter,0,"b")
AddGadgetItem(#driveletter,1,"e")
AddGadgetItem(#driveletter,2,"f")
AddGadgetItem(#driveletter,3,"g")
AddGadgetItem(#driveletter,4,"h")
AddGadgetItem(#driveletter,5,"i")
AddGadgetItem(#driveletter,6,"j")
AddGadgetItem(#driveletter,7,"k")
AddGadgetItem(#driveletter,8,"l")
AddGadgetItem(#driveletter,9,"m")
AddGadgetItem(#driveletter,10,"n")
AddGadgetItem(#driveletter,11,"o")
AddGadgetItem(#driveletter,12,"p")
AddGadgetItem(#driveletter,13,"q")
AddGadgetItem(#driveletter,14,"r")
AddGadgetItem(#driveletter,15,"s")
AddGadgetItem(#driveletter,16,"t")
AddGadgetItem(#driveletter,17,"u")
AddGadgetItem(#driveletter,18,"v")
AddGadgetItem(#driveletter,19,"w")
AddGadgetItem(#driveletter,20,"x")
AddGadgetItem(#driveletter,21,"y")
AddGadgetItem(#driveletter,22,"z")
SetGadgetState(#driveletter,0)
EndIf
EndIf
EndProcedure
Procedure hilfe()
If OpenWindow(#help, 400, 400, 400, 200, #PB_Window_TitleBar | #PB_Window_SystemMenu ,"Hilfe")
If CreateGadgetList(WindowID())
TextGadget(#texthelp,0,0,400,200,"WME Virtual"+Chr(13)+Chr(13)+"Version 1.0b"+Chr(13)+Chr(13)+"WME Virtual ist ein kleines Tool, um virtuelle Laufwerke zu erstellen. Genauer gesagt, verknüpft es mit Laufwerken zu einem Ordner. Die Laufwerke sind demnach genauso groß wie das laufwerk auf dem diese erzeugt werden. "+Chr(13)+Chr(13)+"1. Laufwerkbuchstaben auswählen (zuerst überprüfen ob dieser nicht schon existiert!)"+Chr(13)+"2. Auf erstellen klicken, einen Moment warten"+Chr(13)+Chr(13)+"Viel erfolg mit WME Virtual!"+Chr(13)+"Copyright (c) 2006 by PirahnaStudio.de and WebmasterElite.de")
EndIf
EndIf
EndProcedure
Open_Window_0()
MessageRequester("DEMO","Dies ist nur eine Testversion für das PureBoard. Das fertige (kostenlos natürlich) Programm gibt es bald auf PirahnaStudio.de!",0)
If CreateMenu(#menu, WindowID()) ; hier beginnt das Erstellen des Menüs...
MenuTitle("Menü")
MenuItem(1, "Hilfe")
MenuItem(2, "Über")
MenuBar()
MenuItem(3, "Ende"+Chr(9)+"Esc")
EndIf
startagain:
Repeat ; Start of the event loop
Event = WaitWindowEvent() ; This line waits until an event is received from Windows
AddKeyboardShortcut(#Window_0,#PB_Shortcut_Escape,3)
If Event = #PB_Event_Menu
If EventMenuID() = 1
hilfe()
ElseIf EventMenuID() = 2
MessageRequester("Copyright","WME Virtual Version 1.0b Copyright (c) 2006 by PirahnaStudio.de. "+Chr(13)+Chr(13)+"All rights reserved",0)
ElseIf EventMenuID() = 3
End
EndIf
EndIf
WindowID = EventWindowID() ; The Window where the event is generated, can be used in the gadget procedures
GadgetID = EventGadgetID() ; Is it a gadget event?
EventType = EventType() ; The event type
;You can place code here, and use the result as parameters for the procedures
If Event = #PB_EventGadget
If GadgetID = #driveletter
ElseIf GadgetID = #erstellen
myresult$ = GetGadgetText(#driveletter)
CreateVirtualDrive (myresult$+" virtual",myresult$+":")
DisableGadget(#erstellen,1)
Delay(1000)
MessageRequester("Fertig","Das virtuelle Laufwerk wurde erstellt!",0)
DisableGadget(#erstellen,0)
ElseIf GadgetID = #DELETE
myresult$ = GetGadgetText(#driveletter)
CreateVirtualDrive (myresult$+" virtual",myresult$+":")
DisableGadget(#DELETE,1)
DeleteVirtualDrive (myresult$+" virtual",myresult$+":")
Delay(1000)
MessageRequester("Fertig","Das virtuelle Laufwerk wurde gelöscht!",0)
DisableGadget(#DELETE,0)
EndIf
EndIf
Until Event = #PB_Event_CloseWindow ; End of the event loop
CloseWindow(#help)
Goto startagain