MeniuInformacijaKompiuteriai Programos Delphi manualai Svečių knyga Rekomenduoti |
Kodas, panaikinantis 'Start' mygtuką: EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil), FALSE); Kodas, gražinantis 'Start' mygtuką: EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil), TRUE); Kodas, atidarantis 'Start' meniu: Sendmessage(Application.Handle,WM_SYSCOMMAND,SC_TASKLIST,0); Paslėpti 'Start' mygtuką: ShowWindow(GetWindow(FindWindow('Shell_traywnd', nil), 5), 0); Rodyti 'Start' mygtuką: ShowWindow(GetWindow(FindWindow('Shell_traywnd', nil), 5), 9); Kodas atidaryti CD-ROM'ui (naudoja MMSystem): mciSendString('Set cdaudio door open wait', nil, 0, handle); Kodas uždaryti CD-ROM'ui (naudoja MMSystem): mciSendString('Set cdaudio door closed wait', nil, 0, handle); Kodas perkrauti Windows'ams: ExitWindowsEx(EWX_REBOOT + EWX_FORCE,0); Kodas išjungtiti Windows'ams: ExitWindowsEx(EWX_SHUTDOWN + EWX_FORCE,0); Nustatyti monitoriu Standby režimu: (naudoja: MMSystem, ShellAPI, Messages) SendMessage(Application.Handle, wm_SysCommand, SC_MonitorPower, -1); Išjungti monitoriaus Standby režimą: (naudoja: MMSystem, ShellAPI, Messages) SendMessage(Application.Handle, wm_SysCommand, SC_MonitorPower, 0); Uždaryti aktyvią programą: (naudoja: ShellAPI) GetExitCodeProcess(FindWindow(Nil, 'Window Caption'), intExitCode); PostMessage(AppHandle, WM_QUIT, intExitCode, 0); Kodas, panaikinantis CTRL+Alt+Del: SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @I, 0); Kodas, gražinantis CTRL+Alt+Del: SystemParametersInfo( SPI_SCREENSAVERRUNNING, 0, @I, 0); Kodas, paleidžiantis programą įkrovus Windows'us: (naudoja: registry) procedure RunOnStartup(sProgTitle, sCmdLine: string; bStartup: boolean ); var sKey: string; reg : TRegIniFile; begin sKey := ''; if bStartup = false then begin try reg := TRegIniFile.Create(''); reg.RootKey := HKEY_LOCAL_MACHINE; reg.DeleteKey('Software\Microsoft\Windows\CurrentVersion\Run' + sKey + #0, sProgTitle); reg.Free; exit; except end; end; try reg := TRegIniFile.Create(''); reg.RootKey := HKEY_LOCAL_MACHINE; reg.WriteString('Software\Microsoft\Windows\CurrentVersion\Run' + sKey + #0, sProgTitle, sCmdLine); reg.Free; except end; end; Kodas, panaikinantis programos rodymą TaskBar'e: procedure TForm1.HidefromTask(Sender:Tobject); var hApplic: HWND; begin hApplic := application.handle; if hApplic <> 0 then ShowWindow(hApplic, SW_hide); end; arba: function RegisterServiceProcess (dwProcessID, dwType: DWord) : DWord; stdcall; external 'KERNEL32.DLL'; ... RegisterServiceProcess(GetCurrentProcessID, 1); Kodas, gražinantis programos rodymą TaskBar'e: procedure TForm1.ShowinTask(Sender:Tobject); var hApplic: HWND; begin hApplic := application.handle; if hApplic <> 0 ShowWindow(hApplic, SW_Restore); end; arba: function RegisterServiceProcess (dwProcessID, dwType: DWord) : DWord; stdcall; external 'KERNEL32.DLL'; ... RegisterServiceProcess (GetCurrentProcessID, 0); Paleisti failą, naudojantis WinExec: (naudoja: Windows) WinExec(PChar('C:\Program Files\Winamp\Winamp.exe'),SW_Show); Paleisti failą, naudojantis ShellExecute: (naudoja: ShellApi) ShellExecute(Application.Handle,'open',PChar('test.txt'),nil,PChar('C:\My Documents\'),SW_Show); Desktop'ą paimti lyg Canvas: function windowsDesktopCanvas: TCanvas; var DC: HDc; begin DC := getWindowDC(GetDeskTopWindow); result := TCanvas.Create; result.Handle := DC; end; Kodas, panaikinnantis 'Close' mygtuką ant formos: var hwndHandle : THANDLE; hMenuHandle : HMENU; begin hwndHandle := FindWindow(nil, 'Untitled - Notepad'); if (hwndHandle <> 0) then begin hMenuHandle := GetSystemMenu(hwndHandle, FALSE); if (hMenuHandle <> 0) then DeleteMenu(hMenuHandle, SC_CLOSE, MF_BYCOMMAND); end; end; Išvalyti 'RecycleBin' Procedure EmptyRecycleBin; Const SHERB_NOCONFIRMATION = $00000001 ; SHERB_NOPROGRESSUI = $00000002 ; SHERB_NOSOUND = $00000004 ; Type TSHEmptyRecycleBin = function (Wnd: HWND; pszRootPath: PChar; dwFlags: DWORD): HRESULT; stdcall; Var SHEmptyRecycleBin: TSHEmptyRecycleBin; LibHandle: THandle; Begin LibHandle := LoadLibrary(PChar('Shell32.dll')); if LibHandle <> 0 then @SHEmptyRecycleBin := GetProcAddress(LibHandle, 'SHEmptyRecycleBinA') else begin MessageDlg('Failed to load Shell32.dll.', mtError, [mbOK], 0); Exit; end; if @SHEmptyRecycleBin <> nil then SHEmptyRecycleBin(Application.Handle, nil, SHERB_NOCONFIRMATION or SHERB_NOPROGRESSUI or SHERB_NOSOUND); FreeLibrary(LibHandle); @SHEmptyRecycleBin := nil; end; Kodas, panaikinnantis 'Find' mygtuką: (naudoja: registry) procedure TForm1.Button1Click(Sender: TObject); var fBuffer: array [0..3] of byte; MyRegistry: TRegistry; begin fBuffer[0] := 1; fBuffer[1] := 0; fBuffer[2] := 0; fBuffer[3] := 0; MyRegistry := TRegistry.Create; MyRegistry.RootKey := HKEY_CURRENT_USER; MyRegistry.OpenKey('Software\Microsoft\Windows\CurrentVersion\Policies\Explorer',True); MyRegistry.WriteBinaryData('NoFind',fBuffer,4); MyRegistry.CloseKey; MyRegistry.Free; //You Need Restart Windows end; Kodas, gražinantis 'Find' mygtuką: (naudoja: registry) procedure TForm1.Button1Click(Sender: TObject); var fBuffer: array [0..3] of byte; MyRegistry: TRegistry; begin fBuffer[0] := 0; fBuffer[1] := 0; fBuffer[2] := 0; fBuffer[3] := 0; MyRegistry := TRegistry.Create; MyRegistry.RootKey := HKEY_CURRENT_USER; MyRegistry.OpenKey('Software\Microsoft\Windows\CurrentVersion\Policies\Explorer',True); MyRegistry.WriteBinaryData('NoFind',fBuffer,4); MyRegistry.CloseKey; MyRegistry.Free; //You Need Restart Windows end; Kodas, gaunantis visą fizinę atmintį: function GetMemoryTotalPhys : DWord; var memStatus: TMemoryStatus; begin memStatus.dwLength := sizeOf(memStatus); GlobalMemoryStatus(memStatus); Result := memStatus.dwTotalPhys; end; Kodas, sukeičiantis pelės mygtukus: SystemParametersInfo(SPI_SETMOUSEBUTTONSWAP, 1, NIL, 0); Kodas, grąžinantis i normalią padėtį pelės mygtukus: SystemParametersInfo(SPI_SETMOUSEBUTTONSWAP, 0, NIL, 0); Kodas, įjungiantis ScreenSaver'į: PostMessage(GetDesktopWindow, WM_SYSCOMMAND, SC_SCREENSAVE, 0); Rodyti/paslėpti kietus diskus: (naudoja: registry) procedure TForm1.Button1Click(Sender: TObject); var A, B, C, D, E: Integer; {Kieti diskai} fBuffer: Byte; MyRegistry: TRegistry; begin A:=1; B:=2; C:=4; D:=8; E:=16; //Paslėpti diską A: fBuffer:=A //Paslėpti diskus A,B,C,D,E: fBuffer:=A+B+C+D+E //Rodyti visus diskus: fBuffer:=0 fBuffer:=A+C; //Paslėpti diskus A,C MyRegistry:=TRegistry.Create; MyRegistry.RootKey:=HKEY_CURRENT_USER; MyRegistry.OpenKey('SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES\EXPLORER',True); MyRegistry.WriteBinaryData('NoDrives',fBuffer,1); MyRegistry.CloseKey; MyRegistry.Free; //You Need Restart Windows end; Paslėpti TaskBar: ShowWindow(FindWindow('Shell_TrayWnd',nil), SW_HIDE); Rodyti TaskBar: ShowWindow(FindWindow('Shell_TrayWnd',nil), SW_SHOW); |