Цитата: а может какая то альтернативная программа эта может делать
Попробуй
Rightload Очень удобно.
[more=Как создать свой плагин]How to Create Upload Plugins
Rightload's upload plugin feature allows you to write your own upload handlers that will be integrated into Rightload. All you have to do is create a DLL that exports the following functions and put it into Rightload's plugin directory.
General
Uploads have to be non-blocking, i.e. the Upload procedure can not wait for the upload to complete. This can be accomplished by starting a Thread.
Methods that write to a buffer will be called with an empty buffer first to determine the required buffer length (their return value) and then a second time to actually write to the buffer. lenBuffer is the length of the Buffer.
All methods use stdcall.
function GetAuthor(Buffer: PChar; lenBuffer: Integer): Word
function GetURL(Buffer: PChar; lenBuffer: Integer): Word
function GetDescription(Buffer: PChar; lenBuffer: Integer): Word
Optional - Write information about the plugin to Buffer (see above) which will be used in the configuration screen
function GetFields: Cardinal
Return which fields should be shown in the server settings window. To show several fields at once, add their values together. Valid values are:
1 = Connection fields (hostname + port)
2 = Login fields (username + password)
function ErrorMessage(ErrorCode: Word; Buffer: PChar; lenBuffer: Integer): Word
Write message for error code to Buffer (see above)
function Connect(Host, User, Pass: PWideChar; Port: Word = 80): Word
Connect to specified server and return 0 if successful or an error code
procedure Disconnect()
Disconnect from server
function FileExists(TargetName: PWideChar): Boolean
Return true if file exists
procedure Upload(Filename: PWideChar; TargetName: PWideChar)
Start upload of local file Filename to server as TargetName
function UploadStatus(Cancel: Boolean): Word
Returns current state of upload. This function will be called several times a second while the upload is active. If Cancel is true, the upload should be cancelled as soon as possible.
A nonzero return value means that the upload has been completed. Any value above one will be translated to an error message by substracting one, e.g. return value: 3 => error code: 2.
function UploadProgress: Int64
Returns how many bytes of the current file have been uploaded. This function will be called when UploadStatus returns 0.
function UploadURL(Buffer: PChar; lenBuffer: Integer): Word
Write URL of uploaded file to Buffer (see above)
[/more]