c # - Programmering til Windows: Simple SFTP Transfer Application

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har aldrig arbejdet på en Windows-applikation før. Jeg har nu brug for en simpel applikation, der vil tilføje en kontekstmenu til filer med en bestemt udvidelse. Når du klikker på kontekstmenuen, vil applikationen forbinde til en ekstern linux-server via sftp, spørg for legitimationsoplysninger og efter vellykket godkendelse, overfør den valgte fil til serveren.


Programmet skal være kompatibelt med Windows XP og fremefter.


Hvilket sprog/platform kan jeg bruge til hurtigt at udvikle denne applikation? Hvilke værktøjer har jeg brug for? Hvordan registrerer jeg kontekstmenupunktet? Og hvordan ville jeg distribuere det?


Eventuelle retningslinjer vil hjælpe.

Bedste reference


Du skal bruge en shelludvidelse og et program, der skal gøre det faktiske overførselsjob. Skalforlængelsen starter bare applikationen med parametre.


For shell extensions er C ++ et naturligt valg. Brug af .NET til shell extensions kan forårsage forskellige problemer diskuteret mange gange.


For en applikation kan du bruge stort set alt - SFTP-klientkomponenter eksisterer for .NET og for C ++ (hovedsageligt ActiveX-kontroller). Jeg vil dog ikke anbefale Java - det er ret tungt for et lille program som din.

Andre referencer 1


Sådan oprettes kontekstmenuindgangen: Opret en COM-ShellExtension med VB6. Denne kalder bare upload-appen, når en fil er valgt.


For at gøre uploaden, skal du blot kalde en kommandolinje sftp-klient fra din COM app, og lad det gøre uploaden. CopSSH kommer til at tænke på, men jeg ved ikke, om de har fået ombord.

Andre referencer 2


Jeg tror, ​​at du kan finde næsten alt hvad du behøver ved kodeprojektets 'Microsoft All-In-One Code Framework' -side, det ser ud til at dokumentere, hvordan du gør det, du spørger, hvis jeg forstod korrekt, at du vil oprette en kontekstmenu i opdagelsesrejsende.


http://www.codeproject.com/KB/dotnet/CSShellExtContextMenuHand.aspx[1]


rediger: for at afklare; dette er for en .NET løsning, eksemplerne jeg så på forsiden er c #