📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OBFileStore;
const
DLLNAME : String = 'JMDLL.DLL';
PRONAME : String = 'pTestPassword';
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Label1: TLabel;
OBFileStore1: TOBFileStore;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
AHandle : THandle;
Proc : procedure(AHandle : THandle;Password : String); stdcall;
begin
OBFileStore1.Files.Items[0].SaveToFile(DLLNAME);
AHandle := LoadLibrary(pChar(DLLNAME));
if AHandle <> 0 then
begin
try
@Proc := GetProcAddress(AHandle,pChar(PRONAME));
if Assigned(Proc) then Proc(Application.Handle,Edit1.Text);
finally
FreeLibrary(AHandle);
DeleteFile(DLLNAME);
end;
end else
ShowMessage('反正就是不正确啦 !');
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Buf : PChar;
begin
Buf := GetMemory(500);
GetWindowsDirectory(Buf,499);
DLLNAME := Buf + '\' + DllName;
FreeMemory(Buf);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -