Seite 2 von 2
Verfasst: 20.10.2006 17:14
von Kaeru Gaman
GRUNDSÄTZLICH!!! <- yes, mit drei Ausrufezeichen.
...würde ich davon abraten,
ein programm sich einfach mit irgendeinem format assoziieren zu lassen,
oder zumindest einen fetten "soll ich das tun"-requester einbaun,
solange es sich nicht um ein eigenes format handelt,
das ausschließlich von deinem programm benutzt wird.
ein programm, dass sich ohne zu fragen mit BMP assoziieren würde,
würde bei mir sofort wieder runterfliegen, und das auch nur,
weil es nicht schmerzempfindlich ist,
sonst würde ich es eine woche lang langsam zu tode quälen.
Verfasst: 20.10.2006 18:17
von Captn. Jinguji
Kiffi hat geschrieben:@Marvin,
gibt Reg_CreateKey() nicht auch ein Ergebnis zurück, aus dem man ermitteln
kann, ob das Anlegen des Schlüssels geklappt hat (ich nutze die pbi nicht)?
Wenn ja, dann solltest Du das Ergebnis entsprechend auswerten.
Grüße ... Kiffi
Kann sein, aber es muss da noch was anderes geben. Habe ich auch bei einem meiner Programme: auf OS Ebene kann ich Mediadateien anclicken, und der VLC spielt sie automagisch ab.
Einige dieser Formate kann ich aus PB mit
RunProgram("gaga.avi")
starten (gaga.avi ist natürlich nur EIN Beispiel), für andere muss ich ein
basteln, obwohl alle per Mausclick direkt startbar sind.
Verfasst: 20.10.2006 18:26
von remi_meier
@Captn.:
ShellExecute_(0,0, File,0,0,#SW_SHOW)
Verfasst: 20.10.2006 18:40
von ts-soft
Noch eine Kurzerklärung warum ShellExecute geht und RunProgram
manchmal nicht:
RunProgram nutzt in diesem Fall auch ShellExecute, aber immer mit "open"
als 2.ten parameter. Das funktioniert leider nicht mit allen Dateien,
wohingegen eine 0 als 2.ter parameter immer geht.
Warum PB dann "open" verwendet ist mir leider auch nicht bekannt.
Verfasst: 20.10.2006 18:53
von remi_meier
So wie ich das verstehe:
Wenn 0 übergeben wird, wird der/die/das "default-verb" ausgeführt. Dieses
kann man wohl in der Registry einstellen für jeden Dateityp. Zur Verfügung
stehen:
edit
explore
find
open
print
Wenn nun also "print" als Standard-Verb eingestellt wäre, würde der
Parameter 0 dazu führen, dass gedruckt würde. Um das zu verhindern
wurde ev. "open" benutzt, welches laut Dokumentation das assoziierte
Programm aufrufen sollte.
Wenn ich einen Rechtsklick auf meine mit jaPBe zu öffnenden Files mache,
steht da "Bearbeiten", also default-Verb = "edit". Deshalb wird "open"
hier das falsche machen, da dort anscheinend die IDE registriert ist.
Edit:
Bsp:
Code: Alles auswählen
ShellExecute_(0,"edit", "C:\256.pb",0,0,#SW_SHOW) ;öffnet jaPBe
ShellExecute_(0,0, "C:\256.pb",0,0,#SW_SHOW); jaPBe
ShellExecute_(0,"open", "C:\256.pb",0,0,#SW_SHOW);IDE
Verfasst: 06.01.2007 21:28
von a14xerus
das problem liegt an XP
es gibt so viele verschiedene schlüssel die das verwalten, da geht immer einiges durcheinander, die icons stimmen bei mir schon nichtmehr, obwohl ich selber an der registry noch garnihct rumgepfuscht habe
