PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Prog über Verknüpfung starten


elch
02.07.2002, 16:33
Hi,

wie kann ich in VB oder VBS ein Programm über eine Verknüpfung starten? In der Verknüpfung ist festgelegt, dass das Programm mit anderer Betutzerkennung ausgeführt werden soll (W2k). Wenn ich in VB die Verknüpfung mit "Shell" starte und dabei das .lnk weglasse, wird das zugehörige Programm zwar gestartet, aber die Abfrage nach der Benutzerkennung erscheint nicht. Ideen?

gruss,
elch


Mimo
03.07.2002, 14:43
klappt es denn, wenn Du das lnk-Teil "von Hand" (Doppelklick) startest?

Dann Solltest Du es mit der ShellExecute-API probieren:


Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long


Dim l As Long

l = ShellExecute(0, "open", "DeineVernküpfung.lnk", "", "", 1)


Ich hab zwar noch nie eine Verknüpfung gestartet, aber vielleicht klappts ja!

elch
03.07.2002, 18:16
Hi,

"von Hand" geht's.

Aber dein Code hat leider auch nicht hingehauen.:(
Damit kann man auch "nur" Win32 Anwendungen direkt starten.

Windows muss die *.lnk's doch auch irgendwie starten, wenn man die Doppelklickt. Kann man das nicht irgendwie simulieren?

gruss,
elch

Mimo
04.07.2002, 12:01
Original geschrieben von elch
...
Aber dein Code hat leider auch nicht hingehauen.:(
Damit kann man auch "nur" Win32 Anwendungen direkt starten.
...[/B]

Naja... nicht direkt. Man kann auch Win32-Programme starten. Der Vorteil von ShellOpen liegt daren, dass man Dokumente "starten" kann, wobei dann das assoziierte Programm gestartet wird.

Beispiel: Startet man "c:\abc.doc", so wird i.d.r. Winword gestartet und abc.doc automatisch eingelesen.

Deswegen dachte ich, dass es bei Verknüpfungen ebenso funzt. :(

Gruss

Jan Krüger
04.07.2002, 12:19
tut es auch normalerweise. bei mir hat das funktioniert, ich hab mal ein programm geschrieben, das ein kleines zusätzliches "startmenü" im system-tray einblendet und dazu lnk-dateien aus einem bestimmten verzeichnis verwendet hat.

elch
04.07.2002, 17:28
Hi,

darf ich dann mal nachfragen, wie du das hinbekommen hast? Ich hab es bis jetzt "nur" geschafft mit einem vbs oder js Script ein Programm über einen .lnk zu starten. Allerdings startet das Programm dann _ohne_ den Eintrag "Unter anderer Benutzerkennung ausführen" zu beachten.
Die Idee dahinter ist, dass einige Progs (z.B. Nero) unter W2k und XP Adminrechte benötigen und ich wollte mir was schreiben, dass die Passworteingabe erledigt. Damit die Passwortabfrage aber überhaupt angezeigt wird, muss man eben eine Verknüpfung mit dieser Eigenschaft haben.

gruss,
elch