Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Neaktivní uživatel:28.9.2012 8:48

Mám prográmek,a potřeboval bych tuto zkratku nějak vypnout,aby mi ten program nemohla zavřít...
Neví někdo jak na to ?
A ano, googlil jsem :D

Odpovědět
28.9.2012 8:48
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:28.9.2012 8:55

Znaky z klávesnice vstupují do procesu přes správce oken. Pokud někdo stiskne Alt-F4, správce oken to zachytí, ale procesu to nepředá. Místo toho procesu pošle signál k ukončení.

Tento signál můžeš zkusit zachytit a provést přímo akci, kterou jsi chtěl udělat přes Alt-F4.

Správce oken asi předělávat nebudeš.

Nahoru Odpovědět
28.9.2012 8:55
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Neaktivní uživatel:28.9.2012 8:58

Jak to zkusit zachytit ?

Nahoru Odpovědět
28.9.2012 8:58
Neaktivní uživatelský účet
Avatar
Odpovídá na Kit
Neaktivní uživatel:28.9.2012 9:04

Napadlo mě to udělat nějak takhle

private void Form1_KeyPress(object sender, KeyPressEventArgs e)
        {
            switch(KeyPress)
            {
                case Keys.Alt+Keys.F4:
                    MessageBox.Show("Mě neukončíš :P");
                    break;
            }
        }

Nejspíš to bude blbost a navíc to stejně nejede

Error   1       The event 'System.Windows.Forms.Control.KeyPress' can only appear on the left hand side of += or -=
Nahoru Odpovědět
28.9.2012 9:04
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:28.9.2012 9:06

Nevím, jak to funguje ve Windows a v C#, ale zkus hledat slovo 'trap'.

Nahoru Odpovědět
28.9.2012 9:06
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Nahoru Odpovědět
28.9.2012 9:07
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:28.9.2012 9:10

Správně. Signály se zachytávají do pastí.

Nahoru Odpovědět
28.9.2012 9:10
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Nahoru Odpovědět
28.9.2012 9:10
Neaktivní uživatelský účet
Avatar
Odpovídá na Kit
Neaktivní uživatel:28.9.2012 9:12

Nevíš,jestli se dá udělat aby ten program nepřekryla nabídka Start ?
TopMost mám zapnutý ale Start to překryje

Nahoru Odpovědět
28.9.2012 9:12
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:28.9.2012 9:17

Tak to už nevím vůbec. To bude něco silně specifického pro Windows.

Nahoru Odpovědět
28.9.2012 9:17
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Neaktivní uživatel:28.9.2012 9:18

Aha...:/
No ale stejně díky :)

Nahoru Odpovědět
28.9.2012 9:18
Neaktivní uživatelský účet
Avatar
Odpovídá na Kit
Neaktivní uživatel:28.9.2012 9:21

A jak počítač přepnout do režimu spánku pomocí command line nebo C# ? :D

Vypnout vím ( shutdown -s a v C# http://www.itnetwork.cz/…i-pc-navyare )

ale ten spánek ne :(

Nahoru Odpovědět
28.9.2012 9:21
Neaktivní uživatelský účet
Avatar
Petr
Tvůrce
Avatar
Petr:28.9.2012 9:22

V C# stačí reagovat na událost FormClosing u hlavního formuláře.

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    e.Cancel = true;
}
 
Nahoru Odpovědět
28.9.2012 9:22
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Petr
matesax:28.9.2012 9:27

A můžeš přidat minimalizaci/skry­tí:

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    e.Cancel = true;
    Hide();/WindowState = FormWindowState.Minimized;
}
Editováno 28.9.2012 9:27
 
Nahoru Odpovědět
28.9.2012 9:27
Avatar
Odpovídá na Petr
Neaktivní uživatel:28.9.2012 9:29

To už jsem vyřešil :)

Teď by mě zajímal ten spánek...

Nahoru Odpovědět
28.9.2012 9:29
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:28.9.2012 9:31

Aha teď koukám u toho Navyare do komentářů :D

Application.SetSuspendState(PowerState.Hibernate, true, true);

Takže moment,jdu to testovat :D

Nahoru Odpovědět
28.9.2012 9:31
Neaktivní uživatelský účet
Avatar
Nahoru Odpovědět
28.9.2012 9:38
Neaktivní uživatelský účet
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
matesax:28.9.2012 9:40

Nemáš zač... (Můj program.) :)

 
Nahoru Odpovědět
28.9.2012 9:40
Avatar
Odpovídá na matesax
Neaktivní uživatel:28.9.2012 9:43

jj všiml jsem si...dík :D

...sczdavosuv koment :D :D

Nahoru Odpovědět
28.9.2012 9:43
Neaktivní uživatelský účet
Avatar
00
Člen
Avatar
Odpovídá na Neaktivní uživatel
00:28.12.2012 16:39

jak je to vypnutí? v tom zdrojáku jsem to nemohl najít

 
Nahoru Odpovědět
28.12.2012 16:39
Avatar
matesax
Tvůrce
Avatar
matesax:28.12.2012 16:59

V eventu FormClosing dáš:

e.Cancel = true;

Nemáš-li Form aplikaci, tak to bude něco podobného...

 
Nahoru Odpovědět
28.12.2012 16:59
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 21 zpráv z 21.