Mit Netzwerkserver verbinden
Mit Netzwerkserver verbinden
Hallo Leute,
ich hab nen kleines Wissenproblem und ich hoffe ihr könnt mir helfen:
Ich möchte mich gerne mittels PB an einen Netzwerkserver verbinden. Dabei soll der Netzwerkserver nicht als ein Netzlaufwerk mit festen Laufwerksbuchstaben im Arbeitsplatz eingerichtet werden, sondern er soll unter der Netzwerkumgebung auftauchen, damit alle den gleichen Pfad haben (Ansonsten hat der eine den laufwerksbuchstaben Z: und der ander G: usw.) Leider fehlt mir da das theoretische Wissen. Wo finde ich dazu Informationen? Manuell kann man das Ganze über folgenden Weg einrichten: Rechte Maustaste auf Arbeitsplatz -> Netzlaufwerk verbinden -> Onlinespeicherplatz anfordern oder mit einem Netzwerkserver verbinden -> Eine andere Netzwerkressource auswählen -> Adresse eingeben usw.
Vielen Dank für Infos!
ich hab nen kleines Wissenproblem und ich hoffe ihr könnt mir helfen:
Ich möchte mich gerne mittels PB an einen Netzwerkserver verbinden. Dabei soll der Netzwerkserver nicht als ein Netzlaufwerk mit festen Laufwerksbuchstaben im Arbeitsplatz eingerichtet werden, sondern er soll unter der Netzwerkumgebung auftauchen, damit alle den gleichen Pfad haben (Ansonsten hat der eine den laufwerksbuchstaben Z: und der ander G: usw.) Leider fehlt mir da das theoretische Wissen. Wo finde ich dazu Informationen? Manuell kann man das Ganze über folgenden Weg einrichten: Rechte Maustaste auf Arbeitsplatz -> Netzlaufwerk verbinden -> Onlinespeicherplatz anfordern oder mit einem Netzwerkserver verbinden -> Eine andere Netzwerkressource auswählen -> Adresse eingeben usw.
Vielen Dank für Infos!
Hallo,
ich glaube, ich habs:
http://www.purebasic.fr/german/viewtopi ... highlight=
Kann mir jemand sagen, wie man ein Netzwerklauf auch wieder löscht? Einfach auf rechte Maustaste und löschen oder löscht man damit auch die Daten auf den Server?
ich glaube, ich habs:
http://www.purebasic.fr/german/viewtopi ... highlight=
Kann mir jemand sagen, wie man ein Netzwerklauf auch wieder löscht? Einfach auf rechte Maustaste und löschen oder löscht man damit auch die Daten auf den Server?
Maybe I didn't understand it right, but I think you may need something like this :
Code: Alles auswählen
; Author: Rings
; Date: 24. September 2002
; OS: Windows
; Demo: No
;Connect/Disconnect shared networkdirectory as mapped drives
;PureBasic-Port 2002 by Siegfried Rings (CodeGuru)
#NO_ERROR = 0
#CONNECT_UPDATE_PROFILE = $1
; The following includes all the constants defined for NETRESOURCE,
; not just the ones used in this example\
#RESOURCETYPE_DISK = $1
#RESOURCETYPE_PRINT = $2
#RESOURCETYPE_ANY = $0
#RESOURCE_CONNECTED = $1
#RESOURCE_REMBERED = $3
#RESOURCE_GLOBALNET = $2
#RESOURCEDISPLAYTYPE_DOMAIN = $1
#RESOURCEDISPLAYTYPE_GENERIC = $0
#RESOURCEDISPLAYTYPE_SERVER = $2
#RESOURCEDISPLAYTYPE_SHARE = $3
#RESOURCEUSAGE_CONNECTABLE = $1
#RESOURCEUSAGE_CONTAINER = $2
; Error Constants:
#ERROR_ACCESS_DENIED = 5
#ERROR_ALREADY_ASSIGNED = 85
#ERROR_BAD_DEV_TYPE = 66
#ERROR_BAD_DEVICE = 1200
#ERROR_BAD_NET_NAME = 67
#ERROR_BAD_PROFILE = 1206
#ERROR_BAD_PROVIDER = 1204
#ERROR_BUSY = 170
#ERROR_CANCELLED = 1223
#ERROR_CANNOT_OPEN_PROFILE = 1205
#ERROR_DEVICE_ALREADY_REMBERED = 1202
#ERROR_EXTENDED_ERROR = 1208
#ERROR_INVALID_PASSWORD = 86
#ERROR_NO_NET_OR_BAD_PATH = 1203
Procedure ConnectDrive(Drive.s, Resource.s)
NetR.NETRESOURCE
ErrInfo.l
MyPass.s
MyUser.s
NetR\dwScope = #RESOURCE_GLOBALNET
NetR\dwType = #RESOURCETYPE_DISK
NetR\dwDisplayType = #RESOURCEDISPLAYTYPE_SHARE
NetR\dwUsage = #RESOURCEUSAGE_CONNECTABLE
NetR\lpLocalName =@Drive.s; If undefined, Connect with no device
NetR\lpRemoteName =@Resource.s; Your valid share
;NetR.lpComment = "Optional Comment"
;NetR.lpProvider = ; Leave this undefined
; If the UserName and Password arguments are NULL, the user context
; for the process provides the default user name.
ErrInfo = WNetAddConnection2_(NetR, MyPass, MyUser, #CONNECT_UPDATE_PROFILE)
If ErrInfo = #NO_ERROR
MessageRequester("Net Connection Successful!", "Share Connected",0)
Else
MessageRequester("ERROR: " +Str( ErrInfo ), " - Net Connection Failed!" +"Share not Connected",0)
EndIf
EndProcedure
Procedure DisconnectDrive(Drive.s)
ErrInfo.l
strLocalName.s
strLocalName.s = Drive.s
ErrInfo = WNetCancelConnection2_(strLocalName, #CONNECT_UPDATE_PROFILE, #False)
If ErrInfo = #NO_ERROR
MessageRequester ("Net Disconnection Successful!", "Share Disconnected",0)
Else
MessageRequester( "ERROR: " +Str( ErrInfo )," - Net Disconnection Failed!"+"Share not Disconnected",0)
EndIf
EndProcedure
ConnectDrive("X:","\\ServerName\ShareName")
DisConnectDrive("X:")
For free libraries and tools, visit my web site (also home of jaPBe V3 and PureFORM).
Hi gnozal,
thanks for your answer but to contect a server as a drive to my workplace is not the right thing I search. I found a good example here:
http://www.purebasic.fr/german/viewtopi ... highlight=
With the modification i had a good and easy way to do what i want to do. Additionally i had the keywords for searching in the WWW. Google is your friend
thanks for your answer but to contect a server as a drive to my workplace is not the right thing I search. I found a good example here:
http://www.purebasic.fr/german/viewtopi ... highlight=
With the modification i had a good and easy way to do what i want to do. Additionally i had the keywords for searching in the WWW. Google is your friend

Ich muss leider nochmal nachharken.
Wenn ich mit folgenden Code:
http://www.purebasic.fr/german/viewtopi ... highlight=
und meinem Pfad:
"http://meineseite.de/workspaces/privat/" (Pfad für Netzwerkserver, ansteuerbar eigentlich nur Intranet mittels IE)
eine Verknüpfung erstelle, bekomme ich leider nur eine IE-Verknüpfung, die nach dem Öffnen den IE öffnet.
Wenn ich den Pfad etwas anpasse:
"\\meineseite.de\workspaces\privat\"
erstell er mir eine Verknüpfung zum Server. Leider unterscheidet sich die erstellte Verknüpfung von der, die Windows erstellt(Meine="File Folder", Windows="Web Folder", auch die Icon-Symbole unterscheiden sich). Wenn ich nämlich über Windows mir in der Netzwerkumgebung eine Verknüpfung einrichte, verwende ich den Pfad
"http://meineseite.de/workspaces/privat/" und Windows erstellt mir eine korrekte Verknüpfung zum Server.
Hoffe ihr könnt das irgendwie nachvollziehen. Bin etwas ratlos ....
Wenn ich mit folgenden Code:
http://www.purebasic.fr/german/viewtopi ... highlight=
und meinem Pfad:
"http://meineseite.de/workspaces/privat/" (Pfad für Netzwerkserver, ansteuerbar eigentlich nur Intranet mittels IE)
eine Verknüpfung erstelle, bekomme ich leider nur eine IE-Verknüpfung, die nach dem Öffnen den IE öffnet.
Wenn ich den Pfad etwas anpasse:
"\\meineseite.de\workspaces\privat\"
erstell er mir eine Verknüpfung zum Server. Leider unterscheidet sich die erstellte Verknüpfung von der, die Windows erstellt(Meine="File Folder", Windows="Web Folder", auch die Icon-Symbole unterscheiden sich). Wenn ich nämlich über Windows mir in der Netzwerkumgebung eine Verknüpfung einrichte, verwende ich den Pfad
"http://meineseite.de/workspaces/privat/" und Windows erstellt mir eine korrekte Verknüpfung zum Server.
Hoffe ihr könnt das irgendwie nachvollziehen. Bin etwas ratlos ....
Vielleicht hab ich das dumm ausgedrückt, machen wir es einfacher:
Welche Schreibweise ist für die Netzwerkumgebung richtig?
"http://meineseite.de/workspaces/privat/" (Laut unserer IT Firma)
oder
"\\meineseite.de\workspaces\privat\" (Meiner Meinung nach die richtige Schreibeweise, gleiche Ansicht auch von meinen Chef [Dr. der IT
])
Welche Schreibweise ist für die Netzwerkumgebung richtig?
"http://meineseite.de/workspaces/privat/" (Laut unserer IT Firma)
oder
"\\meineseite.de\workspaces\privat\" (Meiner Meinung nach die richtige Schreibeweise, gleiche Ansicht auch von meinen Chef [Dr. der IT

Hallo Leute,
ich muss das Thema leider nochmal auskramen. Ich hab das Tool nun soweit fertig. Klappt auch alles wie es soll, nur leider habe ich beim Löschen der .lnk immer wieder das Problem, das das nicht richtig ausgeführt wird:
Die lnk wird NICHT gelöscht, auch bei anderen "unsauberen" Möglichkeiten, wie die DeleteOwnExe-Methoden für Installprogrammen (über RunProgramm z.B.)
Edit: Normale Desktopverknüpfungen werden problemlos gelöscht, also stimmt die Vorgehensweise an sich schon mal. Scheint irgendwie am Netzumgebungsordner zu liegen
Probleme tauchen auch schon auf beim Setzen der Attribute 
ich muss das Thema leider nochmal auskramen. Ich hab das Tool nun soweit fertig. Klappt auch alles wie es soll, nur leider habe ich beim Löschen der .lnk immer wieder das Problem, das das nicht richtig ausgeführt wird:
Code: Alles auswählen
SetFileAttributes(MeinPfad.s,#PB_FileSystem_Normal)
Erg=DeleteFile(GetSystemFolder(#CSIDL_NETHOOD)+"\MeineVerknüpfung.lnk")
Edit: Normale Desktopverknüpfungen werden problemlos gelöscht, also stimmt die Vorgehensweise an sich schon mal. Scheint irgendwie am Netzumgebungsordner zu liegen


So, hab mich jetzt nochmal rangesetzt und mich tiefer in die Sache eingelesen. Nach 10 Min hatte ich dann ne Lösung
Bei mir läuft das problemlos, leider traue ich der Ganze Sache nicht wirklich, auch wenn ich sich mit den www Kommentaren deckt. Hier mal mein Code. Wäre toll, wenn jemand die Funktionfähigkeit des Codes bestätigen könnte.
Was ist das Problem? Scheinbar sind FTP und Server Verbindungen keine reine .lnk Verknüpfungen, da diese nicht mit "C:\.....\MeinOrdner.lnk" angesprochen werden können. Die .lnk-Geschichte greift erst, wenn man in den Ordner gelangt. Daher muss der Aufruf mit "C:\.....\MeinOrdner\" erfolgen. Wichtig ist zudem die Fileeigenschaften auf normal zu setzen, da Ordner in "My Network Places" eine höhere Sicherheitsstufe besitzen (Mir war nichtmal bekannt, das Windows "Sicherheitsstufen" besitzt
). Die lassen sich ansonsten NICHT löschen. Zudem ist die Vorgehensweise auch wieder abhängig von der verwendeten Schreibweise, also "http://..." oder "\\....\".


Was ist das Problem? Scheinbar sind FTP und Server Verbindungen keine reine .lnk Verknüpfungen, da diese nicht mit "C:\.....\MeinOrdner.lnk" angesprochen werden können. Die .lnk-Geschichte greift erst, wenn man in den Ordner gelangt. Daher muss der Aufruf mit "C:\.....\MeinOrdner\" erfolgen. Wichtig ist zudem die Fileeigenschaften auf normal zu setzen, da Ordner in "My Network Places" eine höhere Sicherheitsstufe besitzen (Mir war nichtmal bekannt, das Windows "Sicherheitsstufen" besitzt

Code: Alles auswählen
Procedure.s GetSystemFolder(folder)
*itemid.ITEMIDLIST=#Null
If SHGetSpecialFolderLocation_(0,folder,@*itemid)=#NOERROR
location$=Space (#MAX_PATH)
If SHGetPathFromIDList_(*itemid,@location$)
ProcedureReturn location$
EndIf
EndIf
EndProcedure
Lnk.s=GetSystemFolder(#CSIDL_NETHOOD)+"\Ordner\"
SetFileAttributes(Lnk.s,#PB_FileSystem_Normal)
Erg=DeleteFile(Lnk.s)
If Erg=0
Erg=DeleteDirectory(Lnk.s,"")
EndIf
MessageRequester("Information",Str(Erg),#PB_MessageRequester_Ok)