Domino 9 und frühere Versionen > Entwicklung

Start Windows Media + markiertes Dok

(1/4) > >>

aba:
Hallo Forum,

ich würde gerne einem Button so programmieren, das ich dann die Möglichkeit habe, Anhänge mit den Endungen .mp3 und .wav nur markieren muß und wenn ich dann diesen Button betätige, das dann diese Datei in einem dafür vorgesehenen Programm z.B. Windows Media Player gestartet wird.

Jetzt werden vielen denken. Was will er den jetzt. Einfach Anhang starten und los geht es mit der Datei im Mediaplayer. Das weiß ich natürlich auch aber ich habe eine Anwendung, wo ich das so machen muß.

Also soviel "@Command( [Execute]; "C:\\Programme\\Windows Media Player\\mplayer2.exe" )" hab ich schon. nur wie startet er mir dann automatisch den markierten Anhang???

Danke im voraus für Eure Unterstützung!!!

Gruss Arnd

Axel:
Hi,

du musst den Anhang in ein Verzeichnis auf der Platte lösen und dann dem Programm als Parameter übergeben.

Das geht allerdings nur mit Script.

Axel

TMC:
Hi Aba,

hier ein Script, dass alle Anhänge im Richtextfeld "Body" automatisch startet (mit der entsprechenden verknüpften Windows-Anwendung):


--- Code: ---Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim uiws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim rtitem As NotesRichTextItem
   Dim doc As NotesDocument
   Dim strTempdir As String
   Dim strFile As String
   Dim strFileToOpen As String
   Dim aEmbObj As Variant

   Set uidoc = uiws.CurrentDocument
   Set db = session.CurrentDatabase
   Set doc = uidoc.document

   If uidoc.InPreviewPane Or uidoc.EditMode Then Exit Sub
   Dim Ret As Long
   Set rtitem = doc.getfirstItem( "Body" )
   If rtitem Is Nothing Then
      Exit Sub
   End If
   aEmbObj = rtitem.EmbeddedObjects
   strTempdir = WinTemp
   If Isarray(aEmbObj) Then
      Forall o In aEmbObj
         strFile = o.source
         o.ExtractFile( strTempdir & "\" &strFile )
         strFileToOpen= strTempdir & "\" & strFile
         Ret = ShellExecuteAny(GetDesktopWindow, "open", strFileToOpen, Byval 0&, Byval 0&, SW_SHOWNORMAL)
      End Forall
   End If

   Exit Sub

End Sub

--- Ende Code ---

Declarations:

--- Code: ---Declare Function ShellExecuteAny Lib "shell32.dll" Alias "ShellExecuteA" _
(Byval hwnd As Long, Byval lpOperation As String, Byval lpFile As String, _
Byval lpParameters As Any, Byval lpDirectory As Any, Byval nShowCmd As Long) _
As Long
Declare Function GetDesktopWindow& Lib "user32" ()
Const SW_SHOWNORMAL = 10
--- Ende Code ---

Matthias

TMC:
ups, habe noch die WinTemp-Function vergessen (der Temp-Verz.-Code ist kürzlich dank der Hilfe vom Forum entstanden :-))


--- Code: ---Function WinTemp As String
   Dim session As New NotesSession
   
   Dim szNotesDataPath As String
   Dim szExistsPath As String
   Dim szTempPath As String
   
  'Temp-Variable setzen
   szTempPath=Environ$("Temp")
  'Tmp-Variable setzen, weil Temp nicht vorhanden
   If szTempPath="" Then
      szTempPath=Environ$("Tmp")
   End If
   
  'Worst Case: Sowohl Temp als auch Tmp ist nicht verfügbar, daher
  'nehmen wir das Datenverzeichnis von Notes: Wenn da kein 'Temp'-Verzeichnis vorhanden, dann legen wir es an
   If szTempPath="" Then
      szNotesDataPath = session.GetEnvironmentString("Directory",True)
      szExistsPath = szNotesDataPath & "\Temp"
      If Dir$(szExistsPath,16) = "" Then
         Mkdir szNotesDataPath & "\Temp"
         szTempPath = szNotesDataPath & "\Temp"
      Else
         szTempPath = szNotesDataPath & "\Temp"
      End If
   End If
   
   WinTemp =  szTempPath
   
End Function
--- Ende Code ---

Ich denke es dürfte nicht allzuschwierig sein, jetzt noch die Dateien mit einer bestimmten Anwendung zu öffnen. Wobei ich an Deiner Stelle eh die verknüpfte Anwendung verwenden würde wenn möglich - denn das Verzeichnis kann von User zu User abweichen.

Matthias

animate:
hier müsste das zu finden sein:
http://www-10.lotus.com/ldd/sandbox.nsf/ByApplicationTypeNJ/c9ce556cec59109a85256a0e0057e3af?OpenDocument

weiß jetzt leider nicht mehtr genau, ob die Gestaltung sichtbar ist.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln