Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
uweb
Beiträge: 461 Registriert: 13.07.2005 08:39
Beitrag
von uweb » 28.09.2009 15:11
Ich wollte eigentlich nur mal schnell etwas ausprobieren und suche schon wieder seit Stunden den Fehler.
Vielleicht sieht ihn ja einer von euch.
...
edit
Ich habe den Fehler selbst gefunden. Der war so peinlich, daß ich nur noch die Lösung stehen lasse.
Code: Alles auswählen
AppVerb$ = "open"
AppName$ = "notepad.exe"
AppDir$ = "c:\windows\"
shExecInfo.SHELLEXECUTEINFO
shExecInfo\cbSize=SizeOf(SHELLEXECUTEINFO)
shExecInfo\fMask=#SEE_MASK_NOCLOSEPROCESS
shExecInfo\hwnd=#Null;
shExecInfo\lpVerb=@AppVerb$ ; der Trick : "runas" statt "explore","open" oder "print".
shExecInfo\lpFile=@AppName$
shExecInfo\lpDirectory=@AppDir$
shExecInfo\nShow=#SW_SHOWNORMAL
If ShellExecuteEx_(shExecInfo)
Debug "ShellExecuteEx war erfolgreich."
Debug shExecInfo\hProcess
Debug shExecInfo\hInstApp ; Instanzhandle der Anwendung oder Fehlercode
Else
Debug "ShellExecuteEx war NICHT erfolgreich."
Select shExecInfo\hInstApp
Case #SE_ERR_ACCESSDENIED
Debug "Zugriff verweigert"
Case #SE_ERR_FNF
Debug "Datei nicht gefunden"
Case #SE_ERR_NOASSOC
Debug "Datei ist mit keinem Programm verknüpft"
Default
Debug "ShellExecuteEx-Fehler : "+Str(shExecInfo\hInstApp)
EndSelect
EndIf
Falko
Admin
Beiträge: 3535 Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit), Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1 HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:
Beitrag
von Falko » 28.09.2009 17:17
Im Anfängerforum wäre es peinlich, aber bitte API-Sachen trotzdem hierher posten
PS: Ich habe es mal hierher verschoben.
Gruß Falko
Win11 Pro 64-Bit, PB_6.11b1
hjbremer
Beiträge: 822 Registriert: 27.02.2006 22:30
Computerausstattung: von gestern
Wohnort: Neumünster
Beitrag
von hjbremer » 28.09.2009 18:09
sehr schön, aber was bedeutet der Trick ?
und was kann man damit machen, was RunProgramm nicht kann ?
Purebasic 5.70 x86 5.72 X 64 - Windows 10
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
ts-soft
Beiträge: 22292 Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43 CPU: AMD FX-6300 Six-Core Processor GraKa: GeForce GTX 750 Ti, 2 GB Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin
Beitrag
von ts-soft » 28.09.2009 18:33
hjbremer hat geschrieben: sehr schön, aber was bedeutet der Trick ?
und was kann man damit machen, was RunProgramm nicht kann ?
Man kann den Verb ändern und Programm z.B. als Admin starten.
Aber warum ShellExecuteEx und nicht ShellExecute? Ist doch einfacher,
als alle Paras in einer Strukture zu übergeben.
uweb
Beiträge: 461 Registriert: 13.07.2005 08:39
Beitrag
von uweb » 29.09.2009 09:29
Wie gesagt: Ich wollte eigentlich nur schnell etwas ausprobieren.
Es ging eben darum ob sich durch ShellExecuteEx gegenüber ShellExecute bei meinem Problem (das sich mittlerweile erledigt hat) irgendwelche Probleme ergeben.
Dabei bin ich übrigens auf eine gute deutschsprachige Adresse mit api-infos gestoßen :
http://www.vbarchiv.net/api/api_shellexecuteex.html