Разобрался со своим вопросом, так что не хочу оставлять тему незаконченой то раскажу поподробней, делается енто так, можно с таймером а можно и без, можно просто создать 
thread с приоритетом 
THREAD_PRIORITY_IDLE в полне достаточно я пробовал либо 
THREAD_PRIORITY_LOWEST. Использовать над АПИшную функцию 
NetShareEnum, в NT осях она находится в 
NETAPI32.DLL в 95/98/МЕ 
SVRAPI.DLL. Сечас раскажу про NT оси про остальные попоже т.к. есть отличия.
Прототип 
NetShareEnum:
NET_API_STATUS NetShareEnum(  
LPWSTR servername,       
DWORD level,             
LPBYTE * bufptr,        
DWORD prefmaxlen,        
LPDWORD entriesread,     
LPDWORD totalentries,    
LPDWORD resume_handle, 
);
В 
bufptr отдается указатель на одну из следующих структур:
typedef struct _SHARE_INFO_0 {    
LPWSTR    shi0_netname;
} SHARE_INFO_0, *PSHARE_INFO_0, *LPSHARE_INFO_0; 
Members
shi0_netnameA Unicode string containing the sharename of a resource. 
level = 0
=====================================================
typedef struct _SHARE_INFO_1 {    
LPWSTR    shi1_netname;    
DWORD     shi1_type;    
LPWSTR    shi1_remark;
} SHARE_INFO_1, *PSHARE_INFO_1, *LPSHARE_INFO_1; 
Members
shi1_netnameA Unicode string containing the sharename of a resource. 
shi1_typeThis member can be one of following types. Value Meaning 
STYPE_DISKTREE Disk drive 
STYPE_PRINTQ Print queue 
STYPE_DEVICE Communication device 
STYPE_IPC Interprocess Communication (IPC) 
shi1_remarkPoints to a Unicode string containing an optional comment about the shared resource
level = 1, соответственно
=====================================================
typedef struct _SHARE_INFO_2 {    
LPWSTR    shi2_netname;    
DWORD     shi2_type;    
LPWSTR    shi2_remark;    
DWORD     shi2_permissions;    
DWORD     shi2_max_uses;    
DWORD     shi2_current_uses;    
LPWSTR    shi2_path;    
LPWSTR    shi2_passwd;
} SHARE_INFO_2, *PSHARE_INFO_2, *LPSHARE_INFO_2; 
Members
shi2_netnameA Unicode string containing the sharename of a resource. 
shi2_type This member can be one of the following types: Value Meaning 
STYPE_DISKTREE Disk drive 
STYPE_PRINTQ Print queue 
STYPE_DEVICE Communication device 
STYPE_IPC Interprocess Communication (IPC) 
shi2_remarkPoints to a Unicode string that contains an optional comment about the shared resource. 
shi2_permissionsSpecifies the shared resource's permissions for servers running with share-level security. A server running user-level security ignores this member.This member can be one or more of the following values. Value Meaning 
ACCESS_READ Permission to read data from a resource and, by default, to execute the resource. 
ACCESS_WRITE Permission to write data to the resource. 
ACCESS_CREATE Permission to create an instance of the resource (such as a file); data can be written to the resource as the resource is created. 
ACCESS_EXEC Permission to execute the resource. 
ACCESS_DELETE Permission to delete the resource. 
ACCESS_ATRIB Permission to modify the resource's attributes (such as the date and time when a file was last modified). 
ACCESS_PERM Permission to modify the permissions (read, write, create, execute, and delete) assigned to a resource for a user or application. 
ACCESS_ALL Permission to read, write, create, execute, and delete resources, and to modify their attributes and permissions. 
shi2_max_uses Indicates the maximum number of concurrent connections that the shared resource can accommodate (unlimited if the value specified in shi2_max_uses is -1). 
shi2_current_uses Specifies the number of current connections to the resource. 
shi2_pathPoints to a Unicode string containing the local path for the shared resource. For disks, shi2_path is the path being shared. For print queues, shi2_path is the name of the print queue being shared. 
shi2_passwd Specifies the share's password (when the server is running with share-level security). If the server is running with user-level security, shi2_passwd is ignored. The shi2_passwd member can be no longer than SHPWLEN+1 bytes (including a terminating null character). 
level = 2
=====================================================
typedef struct _SHARE_INFO_502 {    
LPWSTR    shi502_netname;    
DWORD     shi502_type;    
LPWSTR    shi502_remark;    
DWORD     shi502_permissions;    
DWORD     shi502_max_uses;    
DWORD     shi502_current_uses;    
LPWSTR    shi502_path;    
LPWSTR    shi502_passwd;    
DWORD     shi502_reserved;    
PSECURITY_DESCRIPTOR  shi502_security_descriptor;
} SHARE_INFO_502, *PSHARE_INFO_502, *LPSHARE_INFO_502; 
Members
shi502_netname A Unicode string containing the sharename of a resource. 
shi502_type One of the following four values specifying the type of share: Value Meaning 
STYPE_DISKTREE Disk Drive 
STYPE_PRINTQ Print Queue 
STYPE_DEVICE Communication device 
STYPE_IPC Interprocess Communication (IPC) 
shi502_remark Points to a Unicode string containing an optional comment about the shared resource. 
shi502_permissions Specifies the shared resource's permissions for servers running with share-level security.This member is ignored on a server running user-level security. This member can be any of the following values: Value Meaning 
ACCESS_READ Permission to read data from a resource and, by default, to execute the resource. 
ACCESS_WRITE Permission to write data to the resource. 
ACCESS_CREATE Permission to create an instance of the resource (such as a file); data can be written to the resource as the resource is created. 
ACCESS_EXEC Permission to execute the resource. 
ACCESS_DELETE Permission to delete the resource. 
ACCESS_ATRIB Permission to modify the resource's attributes (such as the date and time when a file was last modified). 
ACCESS_PERM Permission to modify the permissions (read, write, create, execute, and delete) assigned to a resource for a user or application. 
ACCESS_ALL Permission to read, write, create, execute, and delete resources, and to modify their attributes and permissions. 
shi502_max_uses Indicates the maximum number of concurrent connections that the shared resource can accommodate (unlimited if the value specified in shi502_max_uses is -1). 
shi502_current_uses Specifies the number of current connections to the resource. 
shi502_path Points to a Unicode string that contains the local path for the shared resource. For disks, shi502_path is the path being shared. For print queues, shi502_path is the name of the print queue being shared. 
shi502_passwd Specifies the share's password (when the server is running with share-level security). If the server is running with user-level security, shi502_passwd is ignored. The shi502_passwd member can be no longer than SHPWLEN+1 bytes (including a terminating null character). 
shi502_reserved Must be zero. 
shi502_security_descriptor Specifies the security descriptor associated with this share. 
level = 502
=====================================================
Как видно 
level указывает какого типа переданный указатель, прошу заметить что передается пустой указатель, память под него выделать не надо, но вот после удачного вызова функции не забудьте освободить его.
Также рекомендую  после каждого вызова функции и обработки полученных структур вызвать 
Sleep (2000) в данном случае будет 2 секунды, думаю можно увеличить т.к. попробуцте зашарить чтото и посмотрите сколько енто времени занимает, уменя заняло секунд 12 ет без дополнительных настроек, так что и 10000 т.е. 10 секунд мы можем поспать т.е. частота обновления будет 6 раз за минуту, вполне достаточно но ет на ваше усмотрение.
Вот и таймера не надо 

 , и ресурсов мало потребляем!