Форум: "Сети";
Текущий архив: 2002.12.02;
Скачать: [xml.tar.bz2];
ВнизСетевое окружение Найти похожие ветки
← →
Nimble (2002-09-24 08:02) [0]Подскажите пожалуйста, как программно сделать так, что бы при нажатии на кнопку отображался список всех компов в сети, выбрав имя из списка увидеть его расшаренные ресурсы. Ну вообщем как сетевое окружение в винде.
Очень надо!!!
← →
AllDontFire (2002-09-24 12:10) [1]В поиске, на этом сайте, ввведи "FindComp".
Но исходники сложноваты в принципе.
← →
nimble (2002-09-25 04:39) [2]И на этом спасибо!!!
← →
Rouse_ (2002-10-05 06:45) [3]Вот, правда немножко подглючивает, лениво ошибку искать, это баловался я когда-то
unit Unit2;
interface
uses
Classes, Windows, ComCtrls;
type
TSockScanThr = class(TThread)
private
protected
procedure Execute; override;
public
end;
procedure Scan(res: TNetResource; root: boolean);
implementation
uses unit1;
var
ttt:TTreeView;
{ TSockScanThr }
procedure TSockScanThr.Execute;
var
R:TNetResource;
i:Integer;
begin
inherited;
ttt:= TTreeView.Create(nil);
ttt.Visible := False;
ttt.Parent:= Form1;
Scan(R,TRUE);
Form1.TreeView1.Items.Clear;
Form1.TreeView1.Items.Assign(ttt.Items);
ttt.Destroy;
Form1.TreeView1.Items.BeginUpdate;
for i:= 0 to Form1.TreeView1.Items.Count-1 do begin
if Form1.TreeView1.Items.Item[i].Level = 0 then
if Form1.TreeView1.Items.Item[i].Count >0 then
Form1.TreeView1.Items.Item[i].ImageIndex := 1 else
Form1.TreeView1.Items.Item[i].ImageIndex := 2
else
Form1.TreeView1.Items.Item[i].ImageIndex := 3;
end;
Form1.TreeView1.Items.EndUpdate;
Terminate;
end;
procedure Scan(res: TNetResource; root: boolean);
var
hEnum: cardinal;
nrResource: array[0..1000] of TNetResource;
dwSize: DWORD;
numEntries: DWORD;
i: DWORD;
dwResult: DWORD;
tmp:String;
ii:Integer;
begin
if root = true then
dwResult := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK,
0, nil, hEnum)
else
dwResult := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK,
0, @res, hEnum);
if dwResult = NO_ERROR then
begin
dwSize := SizeOf(nrResource);
numEntries := $0FFFFFFFF;
if WNetEnumResource(hEnum, numEntries, @nrResource, dwSize) = NO_ERROR then
begin
for i := 0 to numEntries - 1 do
begin
if nrResource[i].dwUsage <> RESOURCEUSAGE_CONNECTABLE then
begin
if nrResource[i].dwDisplayType = RESOURCEDISPLAYTYPE_SERVER then
begin //
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2002.12.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c