Tipy a triky v Delphi, díl 72.

Dnes si ukážeme několik krátkých tipů z různých oblastí

Připojení a odpojení síťové jednotky

V našem seriálu už jsme si ukazovali několikrát, jak vyvolat různé systémové dialogy. Dnes si ukážeme jeden z těch méně používaných a sice dialog na připojení a odpojení síťové jednotky. Kód je velmi jednoduchý, takže již bez dalších zbytečných komentářů následuje zdrojový kód. První procedura je na připojení, druhá na odpojení.

procedure TForm1.Button1Click(Sender: TObject);
begin
  WNetConnectionDialog(handle, RESOURCETYPE_DISK);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  WNetDisconnectDialog(handle, RESOURCETYPE_DISK);
end;

Přítomnost myši a počet tlačítek

Následují dva jednoduché tipy na práci s myší. První příklad zjistí, jestli je v systému vůbec myš k dispozici, druhý pak zjistí počet tlačítek.

procedure TForm1.Button1Click(Sender: TObject);
begin
  if (GetSystemMetrics(SM_MOUSEPRESENT) <> 0) then ShowMessage(`Mys pritomna`)
                                              else ShowMessage(`Mys neni k dispozici`);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  ShowMessage(IntToStr(GetSystemMetrics(SM_CMOUSEBUTTONS)));
end;

Zachycení stisku klávesy PrintScreen

Klávesa PrintScreen, která má dnes již jen minimální využití (alespoň ve Windows) a na klávesnicích ji najdeme již zřejmě jen z historických důvodů, má přesto jednu funkci, kvůli které je užitečná. Pokud ji stiskneme, uloží se do schránky snímek obrazovky (screenshot) a je to tak ten nejjednodušší způsob, jak udělat kopii obrazovky bez nutnosti instalace nějakého specializovaného softwaru. V nouzi se dá tohoto postupu celkem dobře použít. My si teď ukážeme, jak stisk této klávesy odchytit a nahradit tak funkci kopírování obrazovky libovolnou vlastní funkcí. Opět nám v tom pomůže systém zpráv Windows.

.
.
.
private
    { Private declarations }
    procedure WMHotKey(var Msg : TWMHotKey); message WM_HOTKEY;
.
.
.

procedure TForm1.WMHotKey (var Msg : TWMHotKey);
begin
  if Msg.HotKey = 101 then ShowMessage(`Stisknuta klavesa PrintScreen`);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  RegisterHotKey(Form1.Handle, 101, 0, VK_SNAPSHOT);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnRegisterHotKey (Form1.Handle, 101);
end;

A to bude pro dnešek všechno. Do dalších programátorských pokusů vám přeji hodně štěstí.

Diskuze (8) Další článek: Finální Windows Media Player 9 ke stažení dnes v noci

Témata článku: Software, Windows, Programování, Trik, PrintScreen, Síťová jednotka, Díl, Systémová schránka


Určitě si přečtěte

Nechcete platit za Total Commander? Těmito bezplatnými programy ho můžete nahradit

Nechcete platit za Total Commander? Těmito bezplatnými programy ho můžete nahradit

** Total Commander je na Windows takřka legendou ** Licence však stojí více než tisíc korun ** Našli jsme pro vás deset alternativ dostupných zdarma

Karel Kilián | 141

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

** Systém Windows 10 umí spoustu užitečných drobností ** O mnoha praktických funkcích pravděpodobně ani nevíte ** Poznejte užitečné tipy, které se vám mohou hodit každý den

Vladislav Kluska | 36

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

** Pornografie údajně představuje třetinu internetové obsahu a je technologický tahounem ** Do erotického obsahu postupně zasahuje i virtuální realita ** Kromě vizuálního vjemu se pracuje také na virtuálním uspokojení toho hmatového

Jan Dudek | 28

Alan Turing: Genius, který matematicky stvořil počítač

Alan Turing: Genius, který matematicky stvořil počítač

Řešením matematického problému se dostal k modelu teoretického stroje, který nese jeho jméno a je základem logiky univerzálních počítačů.

Pavel Tronner | 57

Takhle zemřete, když asteroid dopadne na vaše město

Takhle zemřete, když asteroid dopadne na vaše město

** Jak by to dopadlo, kdyby na světovou metropoli či do nedalekého moře dopadl velký asteroid? ** Simulovali to odborníci z University of Southampton ** Výsledky jsou velmi zajímavé

Petr Kubala | 32


Aktuální číslo časopisu Computer

Velký test 18 bezdrátových sluchátek

Vše o přechodu na DVB-T2

Procesory AMD opět porážejí Intel

7 NVMe M.2 SSD v přímém souboji