Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.08.16;
Скачать: CL | DM;

Вниз

Автоматизировать работу с КПК. (Копировать файлы)   Найти похожие ветки 

 
12 ©   (2009-06-15 14:08) [0]

Есть девайс, подключаю с помощью Microsoft ActiveSync
Мне нужно только копирование, поэтому ничего не настраиваю, жму на все вопросы нет. После этого в проводнике слева появляется Item Мобильное устройство.
Моя программа делает файл, который мне надо на это устройство перекинуть.
Я беру его и копирую методом copy|paste. В проводнике, стандартном.
А мне надо теперь, чтоб программа это делала сама.

Так понимаю, надо знать куда копировать.
Но, сколько я не писал
cmd
copy "Мобильное устройство\SomeFldr" c:\file.ext
в разных вариантах
не понимает..

Как можно скопировать программно файл на него?


 
Медвежонок Пятачок ©   (2009-06-15 14:13) [1]

Мне нужно только копирование, поэтому ничего не настраиваю

А ты наоборот, настрой копирование файлов.


 
sniknik ©   (2009-06-15 14:19) [2]

> настрой копирование файлов.
только там вроде оно называется синхронизацией, указываешь папку источник и при подключении все оттуда "само" копируется на кпк (а также удаляется, зависит от свойств синхронизации).
вроде так, давно уже ActiveSync-ом не пользовался, гораздо проще и быстрее (на порядки) на память кпк писать как на устройство, а не через кпк.


 
ZeroDivide ©   (2009-06-15 14:44) [3]

procedure CopyFileToDevice(localFilename: String; remoteFilename: String; overwrite: Boolean);
var
 localFile: TFileStream;
 remoteFile: THandle;
 mode, bytesRead,
 bytesWritten: Cardinal;
 buffer: array[0..4095] of Byte;
 unicodeStr: array[0..511] of WideChar;
begin
 // create remote file
 if overwrite then mode := CREATE_ALWAYS else mode := CREATE_NEW;
 StringToWideChar(remoteFilename, unicodeStr, 512);
 remoteFile := CeCreateFile(unicodeStr, GENERIC_WRITE, 0, nil, mode, FILE_ATTRIBUTE_NORMAL, 0);
 if remoteFile = INVALID_HANDLE_VALUE then
   raise ERAPI2Exception.Create("Unable to create the remote file");
 // open local file
 try
   localFile := TFileStream.Create(localFileName, fmOpenRead);
 except
   raise ERAPI2Exception.Create("Unable to open the local file");
 end;
 try
   // read data from local file into buffer
   bytesRead := localFile.Read(buffer, 4096);
   while bytesRead > 0 do begin
     // write buffer to remote file
     if NOT CeWriteFile(remoteFile, @buffer[0], bytesRead, bytesWritten, nil) then
       raise ERAPI2Exception.Create("Unable to write data");
     // refill buffer
     bytesRead := localFile.Read(buffer, 4096);
   end;
 finally
   // close remote file
   CeCloseHandle(remoteFile);
   // close local file
   localFile.Free();
 end;
end;


RAPI.pas - найдешь на сайте CodeGear"a


 
Andy BitOff ©   (2009-06-15 14:53) [4]

Плагин для ТС есть с сырцами
http://wincmd.ru/plugring/wince.html ©Christian Ghisler


 
tesseract ©   (2009-06-15 22:46) [5]


> Как можно скопировать программно файл на него?


Через  RemoteAPI  можно. Заголовочный файл где-то валяется с примером. Три года уже как в архиве.



Страницы: 1 вся ветка

Текущий архив: 2009.08.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
15-1245203187
brother
2009-06-17 05:46
2009.08.16
Защита от AUTORUN.INF вирусов.


2-1245432738
Footballer
2009-06-19 21:32
2009.08.16
Изменить свойства чужого окна (AutoSctoll или ScrollBars)


2-1245311984
belmol
2009-06-18 11:59
2009.08.16
array[0..383] of Byte & blob


2-1245381652
belmol
2009-06-19 07:20
2009.08.16
многопоточность


15-1245353234
DesWind
2009-06-18 23:27
2009.08.16
Это реклама!!!