Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 мая!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Слушай, дружище, зачем так мучиться с этим языком С++, ты ведь не Билл Гейтс. Возьми тот же Python и программируй, он кроссплатформенный, под Windows тоже работает. Я сам давно заметил: то что на Си пишешь в страницу кода, на питоне решается в одну-две строки. При том, питон намного проще, я его сам недавно изучил по видеокурсу вот этому. Кстати, автор отлично там объясняет. Буквально день-два и уже будешь писать на нём, чего не скажешь про сложный С++.

Расшаривание ресурса в Windows 95/98/Me (пример использования функции NetShareAdd)

Windows 95/98/Me: Следующий пример демонстрирует, как дать в доступ ресурс на локальном компьютере при помощи функции NetShareAdd.

Пример заполняет структуру share_info_50 не задавая пароля на расшаренный ресурс. Пример так же распределяет и освобождает память, требуюмую для буфера.

#include <stdio.h>
 #include <windows.h>
 #include <svrapi.h>
 
 int main(int argc, char FAR * argv[])
 {
    char FAR * pszServerName = NULL;
    short nLevel = 50;
    struct share_info_50* pBuf = NULL;
    unsigned short cbBuffer;
    NET_API_STATUS nStatus;
    //
    // Для локального компьютера ServerName должно быть NULL.
    //
    if ((argc < 3) || (argc > 4))
    {
       printf("Usage: %s [\\\\ServerName] ShareName SharePath\n", argv[0]);
       exit(1);
    }
 
    if (argc == 4)
       pszServerName = argv[1];
    //
    // Распределяем память для структуры share_info_50.
    //
    cbBuffer = sizeof(struct share_info_50);
    pBuf = malloc(cbBuffer);
 
    if (pBuf == NULL)
       printf("No memory\n");
    //
    // Заносим значения в структуру share_info_50.
    //
    strcpy(pBuf->shi50_netname, argv[argc-2]);
    pBuf->shi50_type = STYPE_DISKTREE;
    pBuf->shi50_flags = SHI50F_FULL;
    pBuf->shi50_remark = NULL;
    pBuf->shi50_path = argv[argc-1];
    pBuf->shi50_rw_password[0] = '\0'; // Без пароля
    pBuf->shi50_ro_password[0] = '\0'; // Без пароля
    //
    // Вызываем функцию NetShareAdd, указывая
    //  информационный уровень 50.
    //
    nStatus = NetShareAdd(pszServerName,
                          nLevel,
                          (char FAR *)pBuf,
                          cbBuffer);
    //
    // Отображаем результаты вызова функции.
    //
    if (nStatus == NERR_Success)
       printf("Share added successfully\n");
    else
       fprintf(stderr, "A system error has occurred: %d\n", nStatus);
    //
    // Освобождаем распределённую память.
    //
    if (pBuf != NULL)
       free(pBuf);
 
    return 0;
 }

 



<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS