Wie kann ich programmgesteuert (.net) einen Befehl auf dem Windows Explorer SendTo Kontextmenüoption aufrufen?Programmgesteuertes Senden von SendTo
Antwort
Die Tatsache, dass sendto Elemente Dateisystemobjekte sind, ist ein Implementierungsdetail, das Menü wird durch die sendto Shell-Erweiterung gefüllt und könnte erweitert werden, um andere Dinge in der nächsten Version von Windows usw. einzuschließen. Tatsächlich ist es seit Windows95 (powertoys/shell toys)
problematisch, den sendto-Ordner nur als einen Ordner mit Verknüpfungen zu behandeln, die Sie mit einem einzigen Parameter ausführen könnenEinige der sendto Elemente sind .lnk die nicht aber eindeutige Dateierweiterungen mit einem registrierten Drop-Handler (.DeskLink, .OtherFolder, .MAPIMail etc)
Die dokumentierte Möglichkeit, einen sendto Artikel aufzurufen wäre IContextMenu zu verwenden. Die unverwaltete Möglichkeit wäre, SHBindToParent für das Objekt aufzurufen, für das Sie die sendto-Aktion emulieren möchten (fragt nach IID_IShellFolder). Rufen Sie dann IShellFolder::GetUIObjectOf an und fragen Sie nach IID_IContextMenu. Dann können Sie IContextMenu::QueryContextMenu aufrufen, um eine HMENU auszufüllen dann musst du das sendto-Untermenü finden (ich denke, es wird sendto als sein Verb zurückgeben, wenn du es mit IContextMenu :: GetCommandString anforderst). Du kannst dann das Untermenü mit den winapi-Menüfunktionen und/oder IContextMenu :: GetCommandString auflisten Element, das Sie aufrufen möchten, rufen Sie dann IContextMenu::InvokeCommand
Nun, die Sendto einfach ein Ordner auf dem Dateisystem, so einen Befehl Aufruf wird nur eine Datei ausgeführt wird ... für mich in idealer Lage:
C: \ Benutzer \ [Benutzername] \ AppData \ Roaming \ Microsoft \ Windows \ SendTo
'so einen Befehl aufrufen, es gibt nur eine Datei ausgeführt ....' können Sie bitte erarbeiten. Ich dachte nur, dass Sie über die speziellen Ordner in den Ordner gelangen können ... – NVM
Wenn Sie mit der rechten Maustaste auf 'somefile.txt' klicken und eine App senden, glaube ich, dass die App einfach mit' somefile.txt' verknüpft ist Befehlszeilenargument. So könnten Sie es selbst mit sagen, 'Process.Start()': http://msdn.microsoft.com/en-us/library/h6ak8zt5.aspx –
Dies ist nicht korrekt, wenn die (Datei) Erweiterung hat ein registrierter DropHandler, es wird aufgerufen, wenn nicht dann ja, es ist so ziemlich wie ein Process.Start() Aufruf – Anders
- 1. Programmgesteuertes Senden eines Formulars
- 2. Programmgesteuertes Senden von Schlüsseln an Eingabefeld?
- 3. Programmgesteuertes Senden eines Formulars mit AngularJS
- 4. Ungültiges Argument bei Verwendung von sendto
- 5. Programmgesteuertes Senden eines Fernsteuerungsereignisses in iOS
- 6. Programmgesteuertes Senden einer App an den Hintergrund
- 7. Programmgesteuertes Senden eines Formulars in Python?
- 8. Programmgesteuertes Senden eines Formulars ohne Senden-Schaltfläche in WebBrowser
- 9. Programmgesteuertes Senden von SMS in Windows Phone 8
- 10. Maximale Pufferlänge für sendto?
- 11. C++ Winsock recvfrom() und sendto()
- 12. sendto broadcast funktioniert, aber Unicast nicht
- 13. 'Sendto fehlgeschlagen'; Fehler bei der Verwendung von sendto-function unter Verwendung eines UDP-Sockets in C
- 14. Programmgesteuertes Erstellen von NSPopUpButton
- 15. Programmgesteuertes Aktivieren von NSMenuItem
- 16. Programmgesteuertes Einfügen von Profilmarkierungen
- 17. Programmgesteuertes Erstellen von htpasswd
- 18. Programmgesteuertes Unterbrechen von raw_input
- 19. sendto-Funktion verwendet keine MAC-Adresse in struct sockaddr_ll beim Senden von rohen Paketen
- 20. Senden von E-Mail mit Anhang mit SENDTO auf einigen Geräten funktioniert nicht
- 21. Raw Sockets und sendto in Python
- 22. retrofit.RetrofitError: sendto fehlgeschlagen: EPIPE (Rohrbruch)
- 23. Python 3 - überprüfen sendto() Erfolg
- 24. Senden von vielen Werten in einem charArray
- 25. Programmgesteuertes Erzeugen von druckerfreundlichen Ausgaben
- 26. Programmgesteuertes Generieren von InfoPath-Formularvorlagen?
- 27. Programmgesteuertes Öffnen von Run C++?
- 28. Sellerie - Programmgesteuertes Auflisten von Arbeitern
- 29. Programmgesteuertes Exportieren von C# reportviewer
- 30. Programmgesteuertes Überprüfen von .Class-Dateien
Danke. Sollte die Frage für eine Weile offen gehalten haben. – NVM