Verfasst: 14.04.2008 18:17
Auch schon älteren Datums und irgendwann und irgendwo hier beschrieben, mein Knecht Donc.
Als Desktop-Symbol (muss man selbst spendieren) lauert er und ist sofort zu Diensten, wenn man ihn braucht.
Im Win-Explorer irgendeine oder mehrere Dateien markieren und auf das Symbol ziehen. Ein Kling zur Quittung zeigt an, dass nun die vollen Pfad- und Dateinamen der Objekte im Clipboard stehen und leicht in Dokumente oder Quellen eingesetzt werden können.
Als Desktop-Symbol (muss man selbst spendieren) lauert er und ist sofort zu Diensten, wenn man ihn braucht.
Im Win-Explorer irgendeine oder mehrere Dateien markieren und auf das Symbol ziehen. Ein Kling zur Quittung zeigt an, dass nun die vollen Pfad- und Dateinamen der Objekte im Clipboard stehen und leicht in Dokumente oder Quellen eingesetzt werden können.
Code: Alles auswählen
;/ JR's DONC : Dragged Object Names to Clipboard
;/ 070527
Define.s on, objects
Define.l idx, ndo, quit, hwnd
#Dir = -2
#BufferLength = 1000
#MEM_DROPFILES = 10
*Buffer = AllocateMemory(#BufferLength)
;/ Drag and Drop auf das Desktop-Symbol
ndo = CountProgramParameters()
If ndo
While ndo > 0
on = ProgramParameter()
If FileSize(on) = #Dir : PathAddBackslash_(on) : EndIf
objects + on + #CRLF$
ndo - 1
Wend
PlaySound_("SystemAsterisk",0, #SND_ALIAS|#SND_NODEFAULT|#SND_NOWAIT|#SND_ASYNC) : Delay(200)
SetClipboardText(objects)
End
EndIf
;/ Drag and Drop auf das aufgerufene Fenster
hwnd = OpenWindow(0, 0, 0, 110, 0 , "JR's DONC", #PB_Window_BorderLess | #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If hwnd
DragAcceptFiles_(hwnd, 1)
Repeat
Event= WaitWindowEvent()
Select Event
Case #PB_Event_CloseWindow
quit = 1
Case #WM_DROPFILES
*DropHandle = EventwParam()
If *DropHandle
ndo = DragQueryFile_ (*DropHandle, $FFFFFFFF, *Buffer, #BufferLength)
If ndo
idx = 0
While ndo
DragQueryFile_(*DropHandle, idx, *Buffer, #BufferLength)
on = PeekS(*Buffer)
If FileSize(on) = #Dir : PathAddBackslash_(on) : EndIf
objects + on + #CRLF$
ndo - 1 : idx + 1
Wend
DragFinish_(*DropHandle)
SetClipboardText(objects)
PlaySound_("SystemAsterisk",0, #SND_ALIAS|#SND_NODEFAULT|#SND_NOWAIT|#SND_ASYNC) : Delay(200)
quit = 1
EndIf
EndIf
EndSelect
Until quit = 1
EndIf
End