winows的密码存于.pwl的文件中,我想编程读.pwl的文件得到密码,应该怎么做?
解决方案 »
- TCheckListEdit怎样遍历取得选中的值
- delphi中我想在dll中定义一个菜单
- DBGridEh如何使用Enter代替Tab键
- 高手们关注一下:一个分布式系统开发,不太熟悉,给些见意,小弟谢了
- 大家去看哦,2004 Delphi Informant Reader's choice awards results
- 谁有XP样式的滚动试菜单,如果事成给1000分快来啊,兄弟们!!!!!!!!!!!!!!!!!!!!!!!11
- 请问那位大虾知道那里有instalshield express custom edition for delphi下载
- 关于发送邮件的一个超极简单的问题!帮小弟解决一下吧!
- 求救!我需要得到变量名中的内容的内容,也就是变量名的内容也是一个变量
- Comm控件参数设置问题
- 打印机返回错误参数
- 关于ActiveX发布与数字签名的问题,UP有分,能解决者。。。。。。
unit test;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls, shellApi;type PPASSWORD_CACHE_ENTRY=^TPASSWORD_CACHE_ENTRY; TPASSWORD_CACHE_ENTRY=packed record cbEntry: word; //password entry的字节长度 cbResource: word; //resource name的字节长度 cbPassword: word; //password的字节长度 iEntry: byte; //entry index nType: byte; //type of entry abResource : array[0..200] of char; //start of resource name source nameend;typeTForm1 = class(TForm)Memo1: TMemo;Button1: TButton;Button2: TButton;Button3: TButton;Button4: TButton;procedure Button1Click(Sender: TObject);procedure FormCreate(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Button3Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm1: TForm1;Passwordcount:integer;buffer1: array[0..200] of char;implementation{$R *.DFM}function WNetEnumCachedPasswords(para0: pointer; para1:word; para2: byte; para3:pointer; para4: dword): word; stdcall; external 'mpr.dll' name 'WNetEnumCachedPasswords';function pce(x:PPASSWORD_CACHE_ENTRY;y:dword):boolean;stdcall;beginpasswordcount:=passwordcount+1;move(x.abResource,buffer1,x.cbResource);if x.cbResource<50 thenfillchar(buffer1[x.cbResource],50-x.cbResource,#32);move(x.abResource[x.cbResource],buffer1[50],x.cbPassword);buffer1[x.cbPassword+50]:=#0;Form1.Memo1.Lines.Add(buffer1);Result:=true;end;procedure TForm1.Button1Click(Sender: TObject);beginpasswordcount:=0;Memo1.Lines.Clear;Memo1.Font.Color:=clBlack;WNetEnumCachedPasswords(nil,0,255,@pce,0);Memo1.Lines.Add('------------------------------------------------------------');Memo1.Lines.Add(format('当前用户共有%d个密码资源缓存',[passwordcount]));end;procedure TForm1.FormCreate(Sender: TObject);beginpasswordcount:=0;Memo1.Lines.Clear;Memo1.Font.Color:=clBlack;WNetEnumCachedPasswords(nil,0,255,@pce,0);Memo1.Lines.Add('------------------------------------------------------------');Memo1.Lines.Add(format('当前用户共有%d个密码资源缓存',[passwordcount]));end;procedure TForm1.Button2Click(Sender: TObject);beginShellExecute( Handle, 'open', 'mailto:[email protected]','','',SHOW_FULLSCREEN );end;procedure TForm1.Button3Click(Sender: TObject);beginclose;end;
end