《pascal三大病毒软件》由会员分享,可在线阅读,更多相关《pascal三大病毒软件(7页珍藏版)》请在金锄头文库上搜索。
1、PASCAL 三大病毒软件1.program bingdu; var a:integer; begin a:=1; while a=1 do write(!); end.Program menudemo;$APPTYPE GUI$MODE DELPHIUses Strings,Windows,CommDlg,CommCtrl;Const AppName = Welcome A+!;Var AMessage: Msg;hWindow,hStatus,Hedit: HWnd;WindowClass: WndClass;Menu: hMenu;ConstEditMenus: Array200.203
2、 Of pchar = (Cut,Copy,Paste,Select All);TypeTFileName = Array0.Max_Path Of Char;Function SelectFile(Var FName:TFileName; Open:Boolean): Boolean;ConstFilter: PChar = Text files (*.txt)#0*.txt#0All files (*.*)#0*.*#0;Ext: PChar = txt;VarNameRec: OpenFileName;BeginFillChar(NameRec,SizeOf(NameRec),0);FN
3、ame0 := #0;With NameRec DoBeginLStructSize := SizeOf(NameRec);HWndOwner := HWindow;LpStrFilter := Filter;LpStrFile := FName;NMaxFile := Max_Path;Flags := OFN_Explorer Or OFN_HideReadOnly;If Open ThenBeginFlags := Flags Or OFN_FileMustExist;End; LpStrDefExt := Ext;End;If Open ThenSelectFile := GetOpe
4、nFileName(NameRec)ElseSelectFile := GetSaveFileName(NameRec);End;Procedure SaveText;Var Len: Longint;P: PChar;F: File;FName: TFileName;BeginIf SelectFile(FName,False) ThenBeginAssign(F,FName);Rewrite(F,1);Len := GetWindowTextLength(HEdit);GetMem(P,Len+1);PLen := #0;If Len0 ThenBeginGetWindowText(HEd
5、it,P,Len+1);BlockWrite(F,P,Len);End;Close(F);FreeMem(P,Len+1);End;End;Procedure AskSave;BeginIf MessageBox(HWindow,是否保存文件?,Edited,MB_IconQuestion Or MB_YesNo)=IdYes ThenBeginSaveText;End;End;Procedure LoadText;VarFName: TFileName;F: File;Len: LongInt;P: PChar;Begin AskSave;If SelectFile(FName,True)
6、ThenBeginAssign(F,FName);Reset(F,1);Len := FileSize(F);GetMem(P,Len+1);PLen := #0;If Len0 Then BlockRead(F,P,Len);Close(F);SetWindowText(HEdit,P);FreeMem(P,Len+1);End;End;Procedure NewText;ConstEmpty: PChar = ;BeginAskSave;SendMessage(HEdit,WM_SetText,1,LongInt(Empty);End;Function WindowProc (Window
7、:HWnd;AMessage : UINT; WParam : WParam; LParam:LParam): LResult;stdcall;export;Var ps: paintstruct;r: rect;StatH: Word;nrmenu : longint;BeginWindowProc := 0;Case AMessage Ofwm_Paint:BeginBeginPaint(Window,ps);GetClientRect(Window,r);EndPaint(Window,ps);Exit;End;wm_Close:BeginAskSave;End;wm_Destroy:
8、BeginPostQuitMessage (0);Exit;End;wm_Size:Beginif HStatus0 thenbeginGetClientRect(HStatus,R);StatH := R.Bottom-R.Top;GetClientRect(Window,R);MoveWindow (hStatus,r.left,r.bottom-StatH,r.right,r.bottom,true);if HEdit0 thenMoveWindow (HEdit,0,0,r.right-r.left,r.bottom-r.top-StatH,true);end;End;wm_Comma
9、nd:BeginNrMenu := WParam And $FFFF;Case NrMenu Of101 : NewText;102 : LoadText;103 : SaveText;104 : PostMessage(Window,WM_Close,0,0);201.203: MessageBox(Window,EditMenusNrMenu,Edit operation not implemented,MB_OK OrMB_IconInformation);End;End;End;WindowProc := DefWindowProc(Window,AMessage,WParam,LPa
10、ram);End;Function WinRegister: Boolean;BeginWith WindowClass DoBeginStyle := cs_hRedraw Or cs_vRedraw;lpfnWndProc := WndProc(WindowProc);cbClsExtra := 0;cbWndExtra := 0;hInstance := system.MainInstance;hIcon := LoadIcon (0,idi_Application);hCursor := LoadCursor (0,idc_Arrow); hbrBackground := GetSto
11、ckObject(GRAY_BRUSH);lpszMenuName := Files;lpszClassName := AppName;End;Result := RegisterClass (WindowClass)0;End;Function EditCreate(ParentWindow,Status:HWnd): HWnd;ConstCS_Start = WS_Child or WS_HScroll or WS_VScroll or ES_MultiLine or ES_Left;EdiTText: PChar = ;VarHEdit: HWND;R: TRect;StatH: Wor
12、d;BeginGetClientRect(Status,R);StatH := R.Bottom-R.Top;GetClientRect(ParentWindow,R);HEdit := CreateWindow (EDIT,EditText,CS_Start,0,0,R.Right-R.Left,R.Bottom-R.top-StatH,ParentWindow,0,System.MainInstance,Nil);If HEdit0 ThenBeginShowWindow(Hedit,cmdShow);UpdateWindow(HEdit);End;Result := HEdit;End;
13、Function WinCreate: HWnd;Var hWindow: HWnd;SubMenu: hMenu;BeginhWindow := CreateWindow (AppName,MenuDemo,ws_OverlappedWindow,cw_UseDefault,cw_UseDefault,cw_UseDefault,cw_UseDefault,0,0,system.MainInstance,Nil);If hWindow0 ThenBeginMenu := CreateMenu;SubMenu := CreateMenu;AppendMenu(Submenu,MF_STRING
14、,101,AppendMenu(Submenu,MF_STRING,102,AppendMenu(Submenu,MF_STRING,103,AppendMenu(Submenu,MF_STRING,103,AppendMenu(SubMenu,MF_String,104,EAppendMenu(Menu,MF_POPUP,SubMenu,SubMenu := CreateMenu;AppendMenu(SubMenu,MF_String,201,AppendMenu(SubMenu,MF_String,202,AppendMenu(SubMenu,MF_STRING,203,AppendMe
15、nu(SubMenu,MF_STRING,204,AppendMenu(SubMenu,MF_STRING,204,AppendMenu(Menu,MF_POPUP,SubMenu,SubMenu := CreateMenu;AppendMenu(SubMenu,MF_String,301,AppendMenu(SubMenu,MF_String,302,AppendMenu(SubMenu,MF_String,303,AppendMenu(SubMenu,MF_String,304,AppendMenu(SubMenu,MF_String,305,AppendMenu(SubMenu,MF_
16、String,306,AppendMenu(SubMenu,MF_String,307,AppendMenu(SubMenu,MF_String,308,AppendMenu(Menu,MF_POPUP,SubMenu,AppendMenu(SubMenu,MF_String,309,AppendMenu(SubMenu,MF_String,310,AppendMenu(SubMenu,MF_String,311,AppendMenu(SubMenu,MF_String,312,AppendMenu(Menu,MF_POPUP,SubMenu,SubMenu:=CreateMenu;AppendMenu(SubMenu,MF_String,312,AppendMenu(SubM