Announcement

Collapse
No announcement yet.

"Öffnen mit.." oder "Eigenschaften"... Dann mal so

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • "Öffnen mit.." oder "Eigenschaften"... Dann mal so

    Hi,

    vielleicht lags an meiner Fragestellung, oder auch nur an der Frage selbst.. jedenfalls bekam ich bis jetzt noch keine Antwort. Daher versuch ichs halt nochmal. Also.. hat vielleicht jemand eine Ahnung wie man den Eigenschaften-Dialog einer Datei anzeigt? Oder weiß vielleicht jemand wie man den "Öffnen mit.."-Dialog (jener wo man auswählen kann mit welchem Programm die Datei geöffnet wird) anzeigen kann. Soviel ich weiß sind das 2 spezielle Aufrufe der RunDLL... aber da ist mein Wissen schon zu Ende! Auch stundenlanges studieren der Win-API Hilfe hat mich nicht weiter gebracht. Ich hoffe mir kann geholfen werden..

    Motzi

  • #2
    Hallo,

    <b>Öffnen mit-Dialog</b>:<br>
    <pre>
    Open With

    module:
    SHELL32.DLL
    command:
    rundll32.exe shell32.dll,OpenAs_RunDLL {path\filename}
    result:
    displays the application/file "Open With" dialog

    result:
    passing the full file path and name as a parameter will cause
    the dialog to display the line "Click the program you want
    to use to open the file '{filename}'".
    </pre>

    <b>Eigenschafts-Dialog</b>: <br>
    Hier handelt es sich nicht um einen festen vordefinierten Dialog, sondern um einen <b>ContextMenu</b>-Handler, der für jeden Dateityp (Datei-Endung) separat im System registriert werden kann. Zusammen mit Delphi 5 wird das Beispielprojekt <i>Demos\ActiveX\Shellext\contmenu.dpr</i> ausgeliefert, dort kann man nachschauen, wie so ein Ding implememntiert und registriert wird.

    Wenn die eigene Anwendung diese spezifischen Handler aufrufen will, würde ich im Platform SDK zuerst unter <b>IShellFolder.GetUIObjectOf</b> mit dem Nachlesen anfangen

    Comment


    • #3
      Hallo Andreas, <BR>
      <BR>
      erst mal danke für die Antwort!<BR>
      Die Sache mit dem Eigenschafts-Dialog hab ich mit einigem herumprobieren schon hinbekommen:<BR><BR>
      <FONT face="Courier New" Size="3">
      <B>var</B><BR>
      &nbsp;&nbsp;sei: ShellExecuteInfo;<BR>
      <B>begin</B><BR>
      &nbsp;&nbsp;FillChar(sei, SizeOf(sei), 0);<BR>
      &nbsp;&nbsp;sei.cbSize := SizeOf(sei);<BR>
      &nbsp;&nbsp;sei.lpFile := PChar(filename);<BR>
      &nbsp;&nbsp;sei.lpVerb := 'properties';<BR>
      &nbsp;&nbsp;sei.fMask := SEE_MASK_INVOKEIDLIST;<BR>
      &nbsp;&nbsp;ShellExecuteEx(@sei);<BR>
      <B>end;</B></FONT><BR><BR>
      Mit dem Öffnen mit-Dialog hab ich jedoch immer noch meine Probleme. Vielleicht könntest du mir ein kurzes Beispiel zeigen wie ich das einbauen kann.<BR><BR>
      Motz

      Comment


      • #4
        Hallo,

        über <i>Start | Ausführen</i> kann man die folgende Zeile eintragen und ausführen lassen:

        rundll32.exe shell32.dll,OpenAs_RunDLL C:\Temp\adr_cb.gif

        Bei mir geht hier unter Windows NT der Windows-Dialog <b>Öffnen mit</b> auf

        Comment


        • #5
          Hi,

          nur hier bei mir unter Win95 leider nicht.

          Comment


          • #6
            Hi,

            funktioniert doch.. hab nur beim hinauskopieren was vergessen.. man braucht aber gar nicht den Umweg über das Ausführenfeld machen, es geht auch so:<BR>
            ShellExecute(Handle, 'open', PChar('rundll32.exe'), PChar('shell32.dll, OpenAs_RunDLL ' + Edit1.Text), nil, SW_SHOWNORMAL);

            Auf jeden Fall Danke!!!! Motz

            Comment

            Working...
            X