AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Dateinamen in Fenster Droppen

Ein Thema von Schwedenbitter · begonnen am 7. Feb 2018 · letzter Beitrag vom 8. Mär 2018
Antwort Antwort
Seite 1 von 2  1 2   
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#1

Dateinamen in Fenster Droppen

  Alt 7. Feb 2018, 20:40
Hallo,

ich möchte gern einen Vorgang automatisieren. Bei uns ist es erforderlich, pdf-Dateien mittels Drag & Drop z.B. vom Explorer in ein Programm zu ziehen. Die entsprechenden Dateien bzw. Dateinamen sind mir bekannt. WinSpy sagt mir leider nur, dass das Ziel ein „SunAwtFrame“ ist. Das scheint etwas mit Java zu tun zu haben. Wobei auch die irgendwie den Empfang des Drag & Drop implementieren müssen.

Ich würde jetzt gern von meinem Programm aus dieses Programm starten und die - mir bekannten (Siehe oben) - Dateien dort einfügen.

Ich habe natürlich hier schon das eine oder andere zu dem Thema gefunden. Das meiste scheint sich aber damit zu beschäftigen, Dateien mit einem Delphi-Programm anzunehmen. Ich würde sie aber gern „abgeben“. Wo bzw. mit welchen Suchworten kann ich mich idealer Weise diesem Thema nähern?
Alex Winzer
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.015 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Dateinamen in Fenster Droppen

  Alt 7. Feb 2018, 21:09
Hast du dich mal mit den DragFiles von Angus Johnson beschäftigt? Damit kann man ein Shell-Drag-Event starten, müsste man sie nur irgendwie am Ziel droppen.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Dateinamen in Fenster Droppen

  Alt 7. Feb 2018, 22:06
Hast du dich mal mit den DragFiles von Angus Johnson beschäftigt? Damit kann man ein Shell-Drag-Event starten, müsste man sie nur irgendwie am Ziel droppen.
Auch.
Die Demo zu WM_DROPFILES habe ich mir angesehen und auch dieses Beispiel und dieses Beispiel.
In der Theorie muss ich "nur" so etwas ähnliches wie das hier (nicht funktionierend) tun:
Delphi-Quellcode:
procedure TFormMain.SpeedButton1Click(Sender: TObject);
var
   wndMain   : HWND;
   wndList   : TStringList;
   FilesHandle: THandle;
begin
   wndMain := FindWindow('TFormMain','WM_DROPFILES demo');
   if (wndMain <> 0) then
   begin
      wndList:= TStringList.Create;
      try
         wndList.Add('aFile.txt');
         FilesHandle:= ConvertFilesToShellIDList('d:\', wndList);
         SendMessage(wndMain, WM_DROPFILES, FilesHandle, 0);
      finally
         wndList.Free;
      end;
   end;
end;
Allerdings liegen Theorie und Praxis und hier auch mein Verständnis manchmal etwas auseinander. Mich wundert auch, dass ich im www kein Beispiel zu diesem Thema finde. Ich kann mir nicht vorstellen, der einzige weltweit mit diesem Problem zu sein. Es kann doch eigentlich nur daran liegen, dass ich mit den falschen Schlagworten suche.
Daher ja meine Frage...
Alex Winzer

Geändert von Schwedenbitter ( 7. Feb 2018 um 22:28 Uhr) Grund: Quellcode und Fundstelle ergänzt
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Dateinamen in Fenster Droppen

  Alt 8. Feb 2018, 00:23
vielleicht nach ConvertFilesToShellIDList suchen?

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Dateinamen in Fenster Droppen

  Alt 9. Feb 2018, 06:28
Zitat:
Ich habe natürlich hier schon das eine oder andere zu dem Thema gefunden. Das meiste scheint sich aber damit zu beschäftigen, Dateien mit einem Delphi-Programm anzunehmen. Ich würde sie aber gern „abgeben“. Wo bzw. mit welchen Suchworten kann ich mich idealer Weise diesem Thema nähern?
Irgendwie verstehe ich nicht was du meinst mit abgeben.
bsp.

Ich habe ein Video.
Wenn ich dieses jetzt vom Explorer auf mein Icon in meinem Prog.. OTTB ziehe dann öffnet sich das Programm zu dem dieses Icon gehört
und spielt die Datei ab die ich mit Drag und Drop auf das Icon aus einer anderen Anwendung(OTTB) gedropt habe.

Ist es das was du meinst?

gruss

Geändert von EWeiss ( 9. Feb 2018 um 08:28 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Dateinamen in Fenster Droppen

  Alt 9. Feb 2018, 06:30
Hallo,
nein,
er will Dateien, dessen Pfad/Name bekannt ist, einem anderen Programm (Java?) automatisch per Drag&Drop schicken.

Etwa so:
http://www.delphi.longzu.net/viewthr...tra=page%3D121
Heiko

Geändert von hoika ( 9. Feb 2018 um 06:33 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Dateinamen in Fenster Droppen

  Alt 9. Feb 2018, 07:17
Ok.. Habe es dann doch falsch verstanden.
Danke.

gruss
  Mit Zitat antworten Zitat
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#8

AW: Dateinamen in Fenster Droppen

  Alt 7. Mär 2018, 14:09
Genau. Etwa so. Danke erstmal für die Antworten!

Nach der Grippewelle habe ich mir den Code angesehen. Egal was ich mache, die Dateinamen kommen zwar an, werden aber auseinandergepflückt. Kurz gesprochen kommt jedes Zeichen extra an. Um das zu verdeutlichen, habe ich einen Screenshot sowie meine Demos angehängt (ausnahmesweise auch als exe-Dateien, damit man nicht z.B. den Empfänger kompilieren muss).
Dass es am Empfänger liegt, schließe ich aus. Denn wenn man z.B. vom Desktop Dateien auf ihn dropt, werden die korrekt angezeigt.

Ich habe die Vermutung, dass es am Unterschied zwischen AnsiString und WideString liegt. Ein simples Umdeklarieren hat aber leider nichts gebracht. Ich habe die Strings einzeln zerlegt, vorher in ein String umgewandelt etc. Nur leider bringt das alles nichts, so dass ich mal wieder auf dem sprichwörtlichen Schlauch stehe.

Hat noch jemand Ideen?
Miniaturansicht angehängter Grafiken
shot_01.png  
Angehängte Dateien
Dateityp: zip Drag.and.Drop.zip (996,9 KB, 3x aufgerufen)
Alex Winzer
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
961 Beiträge
 
Delphi 6 Professional
 
#9

AW: Dateinamen in Fenster Droppen

  Alt 7. Mär 2018, 15:43
Hmm..

(Nur mal über den Source geschaut..)

Dir ist schon bewust, das 'S : String;' immer noch ein WideString (Ab D2009/D2010) ist?
Da müsste schon 'S : AnsiString;' stehen, damit aus dem Wide/Unicodestring ein AnsiString wird..


Edit
Unter D6 kompiliert funktioniert dein Sender, aber hier ist ein String = AnsiString

Geändert von HolgerX ( 7. Mär 2018 um 15:47 Uhr)
  Mit Zitat antworten Zitat
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#10

AW: Dateinamen in Fenster Droppen

  Alt 7. Mär 2018, 16:15
Dir ist schon bewust, das 'S : String;' immer noch ein WideString (Ab D2009/D2010) ist?
Aber jetzt schon.
Mit Typecast klappt es nun tatsächlich. Danke!

Ich habe bloß das Problem, dass der SecSigner und/oder Java hart zu sein scheint. Ich schaffe es nicht, meine Dateinamen in diesen zu droppen. Ich habe auch ein Delphi Programm gefunden, das eine Mischung aus WinSpy und meinem Sender ist. Auch mit diesem kommt nichts dort an.
Scheinbar dann doch alles für die Katz
Alex Winzer
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz