VB6-Anwendung, die auf Windows 7 Nicht Zugeordnete Laufwerke Zugreifen
Ich habe eine VB6-Anwendung, die links zu verschiedenen POS-terminals, die von einer Windows 7 32-bit-Maschine. Die POS-terminals zugeordnet sind, auf dem Windows 7 Computer und ich kann auf die POS-terminals von der Windows-7-Maschine aus dem Explorer oder über die Kommandozeile/shell.
Die Anwendung wurde aktualisiert auf ADO 2.8 und alle anderen Steuerelemente und Komponenten, die hatte ich nicht mehr source-code wurde neu geschrieben. Nach ein paar lästige Problemchen, ich habe die Anwendung neu kompilieren zu müssen auf dem Windows 7-computer ohne Fehler.
Nun kommen die Probleme. Die VB6-Anwendung nicht sehen können, oder navigieren Sie zu alle zugeordneten Laufwerke! Ich habe versucht, Anpassungen der UAC-Einstellungen; ich habe die app für die Ausführung in Windows XP SP3-Modus; ich habe versucht als Administrator ausgeführt werden. Keines dieser Dinge (und viele Permutationen davon) arbeiten.
Irgendwelche Vorschläge, wie diese Arbeit zu machen?
- Wie wollen Sie es ausführen im Windows XP SP3 Modus? Was passiert, wenn es nicht läuft, in diesem Modus?
- Setzen Sie ihn auf " im Kompatibilitätsmodus ausführen, Einstellung der Verwendung von Windows XP SP3, wie der Kompatibilitätsmodus. Dies erfolgt durch Rechtsklick auf den link und verwenden von Eigenschaften. In der Praxis gibt es keinen Unterschied bei mir lief es mit diesem Kompatibilitätsmodus.
- Was passiert, wenn Sie versuchen zu navigieren, um ein zugeordnetes Laufwerk? Was ist ein UNC-Pfad?
- In der VB6-Anwendung, Laufwerk, Listen, zum Beispiel der zugeordnete Laufwerke werden nicht aufgeführt. Versucht, Zugriff auf eine MS Access-Datenbank über ADO-Ergebnisse in der Datei nicht gefunden Fehler. Habe nicht versucht, den UNC-Pfad mit einer VB6-Anwendung (noch nicht arbeitete viel mit VB6 in den letzten 5+ Jahren ... scheint sich daran zu erinnern lückenhaft UNC-Unterstützung ... aber ich könnte falsch sein). Ich habe mit VB seit VB 3 und Win 3.11, aber arbeiten fast ausschließlich mit VB.Net für den letzten 8 Jahren
- Wenn Sie sprechen über "navigieren", ich nehme an, Sie sprechen über ein "Datei Öffnen" - dialog oder somesuch. Wenn das nicht ist, was Sie verwenden, versuchen Sie, Netzlaufwerke und UNC-Pfade mit einem gemeinsamen Datei-dialog geöffnet, aus Ihrem VB6-app.
- Wenn Sie sagen, dass die VB6-app nicht sehen können, alle zugeordneten Laufwerke - was ist der Fehler??? oder sind Sie mit einem drivelistbox-Steuerelement, und es wird nicht zeigen, bis in diesem?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hinzufügen, dass diese Einstellung in der registry das problem bei mir gelöst: http://technet.microsoft.com/en-us/library/ee844140%28v=ws.10%29.aspx.
Ich glaube, Sie haben Probleme, weil casual-Laufwerk-mapping pro Benutzer, und einen UAC-system-Administratoren-die Benutzer in der Gruppe haben zwei getrennte Kontexte (eine für jedes token: SU & erhöhter).
Gibt es so etwas wie ein system-level-drive-mapping, die man unter dem System-Benutzer (NT-Autorität\System). Wenn Sie ein Laufwerk zuordnen, der unter diesem Konto, und ordnen Sie Sie beharrlich, alle Benutzer sehen und verwenden können, die Zuordnung (unter Einhaltung der üblichen Zugriffsrechte für Dateien).
Die normale Art und Weise Sie dies tun, ist über Domain-Ebene von Gruppenrichtlinienobjekten (Group Policy Objects), was bedeutet, dass die Bestechung von Ihrem lokalen box-jockeys, wenn Sie in einem corporate-managed-LAN-Umgebung.
Einen Weg, dies zu tun in einer Arbeitsgruppe der Maschine ist die Karte der Brief, wie das System über den AT-Befehl, von einem erhöhten Eingabeaufforderung:
Da der remote-server MediaShare, user den Benutzer, Passwort ThePW und 8:53 AM ist eine minute oder zwei in der Zukunft zu vermeiden, versehentlich die Planung dieses für morgen.
Aber dieser schlägt auf Vista und später durch die Isolation von Sitzung 0!
Also... nutzen Sie die 3. alternative am Laufen CMD.exe als Lokales System-Konto das ist die gleiche Sache, erwähnt ForcePush die Antwort auf So ordnen Sie ein Netzlaufwerk verwendet werden, die von einem Dienst.
Ich glaube, dass das, was Sie nach hier.
weiß nicht, ob Sie jemals dieses herausgefunden, aber für mich war es der ChDir-Befehl (auch mit registry fix oben).
Hatte ich in meinem code
ChDir "P:\Temp\VidCap\Cam1\" 'I almost never use ChDir
Open "list.txt" For Output As #1
und alle VB6 eingebauten Datei-Befehle, sah geradeaus, obwohl keine Bedienung, keine Fehler, kein gar nichts. Ich löste es, indem ausdrücklich der Pfad, (in meinem code war es in einer Zeichenfolge, aber Sie hätten es explizit):
dd = "P:\Temp\VidCap\Cam1\"
Open dd & "list.txt" For Output As #1
funktioniert, wie erwartet.
hoffe, das hilft
H