 
        
        
          Добавил:
          
        
    
            Upload
            
            
            
            
            
            Опубликованный материал нарушает ваши авторские права? Сообщите нам.
          
          Вуз:
          Предмет:
          Файл:
          
        #include <windows.h>
#include <iostream.h>
int main()
{
  HANDLE  hMailslot;
  char mailslotName[] = "\\\\.\\mailslot\\demo_mailslot";
  
  // связываемся с почтовым ящиком
  hMailslot = CreateFile(
    mailslotName,      // имя почтового ящика
    GENERIC_WRITE,     // записываем в ящик
    FILE_SHARE_READ,   // разрешаем одновременное чтение из ящика
    NULL,              // защита по умолчанию
    OPEN_EXISTING,     // открываем существующий канал
    0,         // атрибуты по умолчанию
    NULL       // дополнительных атрибутов нет
  );
  
  // проверяем связь с почтовым ящиком
  if (hMailslot == INVALID_HANDLE_VALUE)
  {
    cerr << "Create file failed." << endl
      << "The last error code: " << GetLastError() << endl;
    cout << "Press any key to finish the client.";
    cin.get();
    return 0;
  }
  // вводим целое число
  int n;
  cout << "Input an integer: ";
  cin >> n;
  // пишем число в почтовый ящик
  DWORD dwBytesWritten;    
  if (!WriteFile(
      hMailslot,   // дескриптор почтового ящика
      &n,          // данные
      sizeof(n),   // размер данных
      &dwBytesWritten,   // количество записанных байтов
      NULL         // синхронная запись
    ))
  {
    // ошибка записи
    cerr << "Write file failed: " << endl
    << "The last error code: " << GetLastError() << endl;
    cout << "Press any key to finish the client.";
    cin.get();
    CloseHandle(hMailslot);
    return 0;
  }
  // закрываем дескриптор канала
  CloseHandle(hMailslot);
  // завершаем процесс
  cout << "The number is written by the client." << endl
    << "Press any key to exit." << endl;
  cin.get();
  return 0;
}
          Соседние файлы в папке Листинги
          
      
    
    
    
          