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í, Systémová schránka, PrintScreen, Síťová jednotka, Díl, Trik


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

Dell XPS 13: Když vás ostatní doženou až za tři roky

Dell XPS 13: Když vás ostatní doženou až za tři roky

** XPS 13 nastartoval trend notebooků bez rámečků ** Letošní model kompletně přechází na USB-C ** Navzdory malému tělu se řadí výkon ke špičce

Tomáš Holčík | 34

Kde se bere elektřina v zásuvce? Poznejte 10 tajemství venkovních stožárů s dráty

Kde se bere elektřina v zásuvce? Poznejte 10 tajemství venkovních stožárů s dráty

Elektřina se vyrábí v elektrárnách, ale do zásuvek v našich domovech to pak má ještě hodně daleko. Dnes se na tuhle dlouhou cestu podíváme.

David Polesný | 82

Photolemur 3: Prostě do něj přetáhnete fotky a začne se dít magie. Tedy údajně...

Photolemur 3: Prostě do něj přetáhnete fotky a začne se dít magie. Tedy údajně...

** Je lepší nabušený Photoshop, nebo program s jedním tlačítkem? ** Photolemur si myslí to druhé ** Tento fotoeditor neumí skoro nic, a přitom (skoro) všechno

Jakub Čížek | 19

Osudová havárie Concordu: Před 18 lety přišel konec nadzvukových dopravních letadel

Osudová havárie Concordu: Před 18 lety přišel konec nadzvukových dopravních letadel

** Concorde byl nejrychlejším dopravním letadlem ** Atlantik dokázal přeletět za cca 3 až 3,5 hodiny ** Před osmnácti lety tragická havárie provoz těchto letadel prakticky ukončila

David Polesný, Jiří Černý | 37


Aktuální číslo časopisu Computer

Jak vytvořit a spravovat vlastní web

Velký test herních klávesnic a DVB-T2 tunerů

Vše o formátu RAW

Vybíráme nejlepší základní desku