Что нового?

Запись файла на удаленный комп [РЕШЕНО]

ExPlayer

Старожил
Доброго времени суток!
Подскажите, как можно реализовать запись файла в расшаренную папку на другом компе, при выключении своего компа.
Поясню: пользователь нажимает "Завершить работу" или "Выйти из системы" в это время на удаленный комп (в расшаренную папку) должен записаться файл с датой и временем выключения.

Пытался сделать через WM_QUERYENDSESSION, но во время выхода из системы появляется сообщение с ошибкой: "I/O error 123".

Сам код:
Код:
procedure TForm1.WMOFF(var Msg: TWMQueryEndSession);
var
  t:TextFile;
  d:TDateTime;
  pc: array[0..MAX_COMPUTERNAME_LENGTH] of char;
  sizepc: dword;
begin
  d:=Now;
  GetComputerName(pc,sizepc);
  assignfile(t,'\\IP компа\lipc\'+StrPas(pc)+'.txt');
  if FileExists('\\IP компа\lipc\'+StrPas(pc)+'.txt') then Append(t)
     else Rewrite(t);
     writeln(t,DateToStr(d)+' '+TimeToStr(d));
     closefile(t);
close;
end;
Тот же самый код пытался сделать в событиях OnClose и OnDestroy (ошибки не было, но и файл не записывался).

P.S. пишу на Delphi 7.
 
Последнее редактирование:

Krinkels

Он где то тут
Администратор
Поделись решением, может еще кому пригодится
 

ExPlayer

Старожил
Поделись решением, может еще кому пригодится
Как такого решения не нашёл, скорее применил "костыль":
1. Программа запускается -> записываем файл (на локальный диск) -> отправляем его на сервер;
2. Комп выключается (или перезагружается) -> записываем файл (на локальный диск).

По другому у меня реализовать не получилось (даже пробовал создать службу с зависимостями от сети). Сеть отрубалась раньше, чем файл успевал записаться на удаленный комп.

P.S. программу делал для работы (просили сделать логирование включения/выключения компов).
 
Сверху