Вниз
Скачать: CL | DM;

РАСШАРИТЬ ДИСК   Найти похожие ветки 

 
ATLANTIDO ©   (2002-02-23 20:47) [0]

Как програмно расшарить диск на локальном компьютере ?
То есть программа должна расшарить диск на компьютере
на котором она запущена.


 
[NIKEL] ©   (2002-02-24 16:47) [1]

вот посмотри исходник , тока на С

#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;
}



 
ATLANTIDO ©   (2002-02-25 10:53) [2]

sanks!



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.017 c
14-26223
Capo
2002-03-30 17:54
2002.05.09
Builder или Delphi?


14-26264
ATLANTIDO
2002-04-02 16:04
2002.05.09
Autorun на сидюках


3-26030
AndrewK
2002-04-16 16:47
2002.05.09
Вопрос по написанию хранимых процедур


7-26283
dim_zay
2002-02-08 14:04
2002.05.09
Проблем с принтером!!!


3-26039
gyg
2002-04-16 21:19
2002.05.09
Можно ли узнать имя пользователя в Interbase?




   Наверх