Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: SIEĆ
Fiarel
Szczecin



Typ: neutral
Postów: 57
Zarejestrowany: Dec 2002
SIEĆ

Szukam sposobu aby zmusić vb do przeglądania udostępnionych katalogów w LANie


_____________________________________________
www.skype.com RULES !!!

15-12-2002 13:43
Pokaż profil Fiarel  Wyślij email do Fiarel        4354308
Jelcyn
Admin forum




Typ: admin
Postów: 895
Zarejestrowany: Apr 2002

Hmmm widziałem taki sampel z tym, że w MASMie (makro asembler czyli Asembler+API). Mogę tu dać lisning programu może akurat coś pomoże


_____________________________________________
Jelcyn
vb4all(małpka)canpol.pl
http://www.coderscity.pl/no-vb4all * http://www.jelcyn.com

16-12-2002 20:30
Pokaż profil Jelcyn  Wyślij email do Jelcyn   Odwiedź stronę Jelcyn       270849979    6237704
Jelcyn
Admin forum




Typ: admin
Postów: 895
Zarejestrowany: Apr 2002

Ten przykład pochodzi z książki "Pisanie wirusów i antywirusów" autorstwa A Błaszczyka


plik z zasobami (RSRC.RC)
-------------------------
; ============================================================
;  Polozenie na nosniku: \lan\rc.rc
; ============================================================
;          Program demonstracyjny zalaczony do ksiazki
;                        Adam Blaszczyk
;            "Jak pisac wirusy i antywirusy?"
;                  Wydawnictwo RM, 2001
; ============================================================
; Plik z zasobami dla programu "lan"
; ============================================================

#define DS_MODALFRAME        0x80L
#define DS_3DLOOK            0x0004L
#define DS_CONTROL            0x0400L
#define DS_CENTER            0x0800L
#define DS_CENTERMOUSE        0x1000L
#define DS_LOCALEDIT          0x20L

#define WS_POPUP              0x80000000L
#define WS_VISIBLE            0x10000000L
#define WS_CAPTION            0x00C00000L
#define WS_SYSMENU            0x00080000L
#define WS_BORDER            0x00800000L
#define WS_TABSTOP            0x00010000L
#define WS_HSCROLL            0x00100000L
#define WS_VSCROLL            0x00200000L

#define WS_EX_TOOLWINDOW      0x00000080L
#define WS_EX_CLIENTEDGE      0x00000200L
#define WS_EX_STATICEDGE      0x00020000L
#define WS_EX_APPWINDOW      0x00040000L

#define LBS_NOREDRAW          0x0004L

#define IDC_LISTA            2000
#define IDC_ETYKIETA          2001
#define ID_OK                2002
#define ID_ODSWIEZ            2003

DLG_GLOWNY DIALOGEX LOADONCALL 0, 0, 325, 278
STYLE  DS_MODALFRAME
      | DS_3DLOOK
      | DS_CENTER
      | WS_POPUP
      | WS_VISIBLE
      | WS_CAPTION
      | WS_SYSMENU
EXSTYLE WS_EX_TOOLWINDOW
      | WS_EX_CLIENTEDGE
      | WS_EX_STATICEDGE
CAPTION "LAN"
FONT 8, "MS Sans Serif"
BEGIN
    DEFPUSHBUTTON  "OK",ID_OK,229,259,40,14
    PUSHBUTTON      "Odswiez",ID_ODSWIEZ,279,259,40,14
    LISTBOX        IDC_LISTA,7,30,312,224,
                    WS_VSCROLL | WS_HSCROLL | WS_TABSTOP,WS_EX_CLIENTEDGE
    CTEXT          "Zasoby LAN",IDC_ETYKIETA,5,5,240,15
END
-------------------------
end


_____________________________________________
Jelcyn
vb4all(małpka)canpol.pl
http://www.coderscity.pl/no-vb4all * http://www.jelcyn.com

17-12-2002 15:52
Pokaż profil Jelcyn  Wyślij email do Jelcyn   Odwiedź stronę Jelcyn       270849979    6237704
Jelcyn
Admin forum




Typ: admin
Postów: 895
Zarejestrowany: Apr 2002

Plik LAN.ASM
------------

; ============================================================
;  Polozenie na nosniku: \lan\lan.asm
; ============================================================
;          Program demonstracyjny zalaczony do ksiazki
;                        Adam Blaszczyk
;              "Jak pisac wirusy i antywirusy?"
;                  Wydawnictwo RM, 2001
; ============================================================
;  Nazwa programu: lan
;  Srodowisko:    WINDOWS 9x/Me
;  Bezpieczenstwo: To nie jest wirus
;  Opis:          Program wyswietla wszystkie zasoby
;                  udostepnione w sieci LAN
;  Kompilacja:    ml /c /coff lan.asm
;      Zasoby:    rc.exe /v rc.rc
;                  cvtres.exe /machine:ix86 rc.res
;  Linkowanie:    link.exe /SUBSYSTEM:WINDOWS lan.obj rc.obj
;  Uwagi:          Kompilacje i linkowanie mozna wykonac
;                  przy pomocy pliku c.bat
;  Uwagi.2:        Program musi byc uruchomiony w sieci LAN,
;                  aby wyswietlone przez niego rezultaty
;                  mialy sens
;  Uwagi.3:        Program dziala dosc WOLNO!!!
;                  Nalezy uzbroic csie w cierpliwosc!!!
;                  mialy sens
;  Uruchomienie:  Dwukrotne klikniecie w oknie Exploratora
;                  lub z wiersza polecen (plik z programem
;                  musi znajdowac sie w biezacym katalogu):
;
;                  lan.exe
; ============================================================

.386                          ; instrukcje 386
.MODEL FLAT,STDCALL            ; \ 'plaski' model pamieci
                              ; | kod i dane sa umieszczone
                              ; | w liniowej przestrzeni
                              ; / adresowej o rozmiarze 4GB

OPTION CASEMAP :NONE          ; rozrozniaj wielkosc liter

NUL  = 00h                  ; \
CR    = 0Dh                  ; | definicje znakow ASCII
LF    = 0Ah                  ; /

                              ; dolacza pliki naglowkowe
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\gdi32.inc
include \MASM32\INCLUDE\mpr.inc

                              ; dolacza biblioteki
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\gdi32.lib
includelib \MASM32\LIB\mpr.lib

                              ; stale elementow okna dialogu
ID_LISTA    = 2000          ; lista przewijana
ID_ETYKIETA  = 2001          ; pole etykiety
ID_OK        = 2002          ; przycisk [OK]
ID_ODSWIEZ  = 2003          ; przycisk [ODSWIEZ]

OFS equ OFFSET
                              ; prototypy funkcji
DlgProc        PROTO WORD,WORD,WORD,WORD
ListaZasobowLan PROTO WORD

.data?
hInstance        dd ?        ; instancja okna
hLista          dd ?        ; uchwyt do listy

.data
                              ; nazwa okna dialogu
TxNazwaDialogu  db 'DLG_GLOWNY',0

                              ; etykieta korzenia
TxTytulOkna      db 'Lan',NULL
TxCopyright label dword      ; komunikat o prawach autorskich
  db '========================================'        ,CR,LF
  db '    Program demonstracyjny zalaczony do ksiazki',CR,LF
  db '                  Adam Blaszczyk'              ,CR,LF
  db '          "Jak pisac wirusy i antywirusy?"'    ,CR,LF
  db '              Wydawnictwo RM, 2001'              ,CR,LF
  db '========================================'        ,CR,LF
  db NUL

.code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; program glowny
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Start:
  invoke GetModuleHandle,NULL ; pobierz instancje
  mov    hInstance,eax        ; zapisz instancje

                              ; komunikat o prawach autorskich
  invoke MessageBox,0,OFS TxCopyright,OFS TxTytulOkna,\
          MB_ICONEXCLAMATION

                              ; wczytaj okno dialogu
  invoke DialogBoxParam,hInstance,ADDR TxNazwaDialogu,\
          0,ADDR DlgProc,0

  invoke ExitProcess,eax      ; zakoncz proces

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; procedura obslugi okna dialogu
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DlgProc proc hDlgWORD,uMsgWORD,wParamWORD,lParamWORD
      ; -- inicjacja okna dialogu
  .if uMsg==WM_INITDIALOG
                              ; pobierz uchwyt do listy
      invoke GetDlgItem,hDlg,ID_LISTA
      mov    hLista,eax      ; zapisz uchwyt

                              ; wyslij komunikat ODSWIEZ
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;      jesli program ma listowac od razu przy starcie
;      nalezy z ponizszej linii usunac komentarz
;      invoke SendMessage,hDlg,WM_COMMAND,ID_ODSWIEZ,0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

      ; -- zamykanie okna dialogu
  .elseif  uMsg==WM_CLOSE

      invoke EndDialog,hDlg,0 ; zakoncz dialog

      ; -- obsluga przyciskow
  .elseif  uMsg==WM_COMMAND

          ; -- obsluga przycisku [OK]
      .if wParam==ID_OK
                              ; zakoncz program
          invoke SendMessage,hDlg,WM_CLOSE,0,0

          ; -- obsluga przycisku [ODSWIEZ]
      .elseif wParam==ID_ODSWIEZ
                              ; wyczysc zawartosc ListBoxa
          invoke SendMessage,hLista,LB_RESETCONTENT,0,0

                              ; przeszukaj siec LAN
          invoke ListaZasobowLan,NULL
      .endif
  .endif

  xor eax, eax                ; \ zwroc FALSE, aby system
                              ; / obsluzyl inne komunikaty

  ret                        ; powrot z procedury

DlgProc endp

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; procedura listujaca udostepnione zasoby sieci LAN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ListaZasobowLan proc lpnrWORD
  LOCAL hNetEnum      : DWORD
  LOCAL Ile          : DWORD
  LOCAL DlugBufora    : DWORD
  LOCAL Bufor[4096]  : BYTE

                              ; rozpocznij przeszukiwanie
  invoke WNetOpenEnum,RESOURCE_GLOBALNET,\
                      RESOURCETYPE_DISK,\
                      RESOURCEUSAGE_CONTAINER,\
                      lpnr,ADDR hNetEnum

  .if eax==NO_ERROR          ; jesli nie ma bledu

      Listuj:
      mov Ile,0FFFFFFFFh      ; domyslnie tyle pozycji
      mov DlugBufora,4096    ; ustal dlugosc bufora

                              ; przeszukaj zasoby
      invoke WNetEnumResource,hNetEnum,ADDR Ile,\
                              ADDR Bufor,ADDR DlugBufora

                              ; \ jesli nie ma bledu
                              ; / i istnieja jakies zasoby
      .if (!                          \
            ((eax==ERROR_NO_MORE_ITEMS)\
            || (eax!=NO_ERROR))      \
            )                  ; jesli nie ma bledu

          mov ecx,Ile        ; ECX=Ile=liczba zasobow
          lea esi,Bufor      ; \ ESI=wskazuje na
                              ; / wypelniony bufor

          KolejneZasoby:
          pushad              ; zachowaj rejestry

                              ; czy zasob zawiera podzasoby?
          mov eax,[esi.NETRESOURCE.dwUsage]
          and eax,RESOURCEUSAGE_CONTAINER
          .if eax!=0          ; TAK
                              ; listuj rekurencyjnie
              invoke ListaZasobowLan,esi

          .else              ; NIE
                              ; czy zasob jest dyskiem?
              mov eax,[esi.NETRESOURCE.dwUsage]
              and eax,RESOURCETYPE_DISK
              .if eax!=0      ; TAK
                              ; dodaj do listy
                  invoke SendMessage,hLista,LB_ADDSTRING,\
                        0,[esi.NETRESOURCE.lpRemoteName]
              .endif ; #-- eax!=0
          .endif ; #-- eax!=0

          popad              ; przywroc rejestry

                              ; ESI=kolejny zasob
          add esi,SIZEOF NETRESOURCE

          dec ecx            ; ECX=liczba zasobow
          jnz KolejneZasoby  ; \ skacz jesli nie wszystkie
                              ; / wylistowane

          jmp  Listuj        ; listuj kolejny zasob
      .endif
  .endif
                              ; zakoncz przeszukiwanie
  invoke WNetCloseEnum,hNetEnum

  ret                        ; powrot z procedury
ListaZasobowLan endp

END Start                      ; poczatek programu
------------


_____________________________________________
Jelcyn
vb4all(małpka)canpol.pl
http://www.coderscity.pl/no-vb4all * http://www.jelcyn.com

17-12-2002 15:52
Pokaż profil Jelcyn  Wyślij email do Jelcyn   Odwiedź stronę Jelcyn       270849979    6237704
Fiarel
Szczecin



Typ: neutral
Postów: 57
Zarejestrowany: Dec 2002

THX Niestety nie jest to dużo ale jak znajdę sposób to dam znać


_____________________________________________
www.skype.com RULES !!!

21-12-2002 11:41
Pokaż profil Fiarel  Wyślij email do Fiarel        4354308
Jelcyn
Admin forum




Typ: admin
Postów: 895
Zarejestrowany: Apr 2002

Cały dzień nad tym siedziałem, najpierw próbowałem przetłumaczyć ten asemblerowy program, potem szukałem i kasowałem w końcu znalazłem w miarę normalny przykład który działa, jest nieskomplikowany. Jedyną wadą jest że zapisuje dane do pliku, ale zaraz go przerobię tak aby działał jak powinien :-)

Mam też jakiś wyświetlający raport w TreeView ale za cholerę nie mogę się połapać o co w tym chodzi i od cholery API w tamtym jest ale ten co zapisuje dane do pliku wygląda na normalniejszy


_____________________________________________
Jelcyn
vb4all(małpka)canpol.pl
http://www.coderscity.pl/no-vb4all * http://www.jelcyn.com

27-02-2003 21:31
Pokaż profil Jelcyn  Wyślij email do Jelcyn   Odwiedź stronę Jelcyn       270849979    6237704
anonim




Typ: Nie zarejestrowany

To może zamieścił byś Yelcyn ten przykładzik na vb4all bo szukałem i coś nie mogę go znaleźć.

18-03-2004 16:09
  
anonim




Typ: Nie zarejestrowany

Jeszcze jedno, wiecie może gdzie bym mógł znaleźć jakieś tutoriale o sieci w VB, albo jakieś prościutkie przykłady.

18-03-2004 16:11
  
Wszystkich odpowiedzi: 7 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1