IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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:16.7.2012 15:36

jde to nějak udělat nějakým příkazem ? nechci alt + enter

Odpovědět
16.7.2012 15:36
Neaktivní uživatelský účet
Avatar
matesax
Tvůrce
Avatar
matesax:16.7.2012 16:48
 using System;
using System.Runtime.InteropServices;

namespace ConsoleApplication1
{
    class Program
    {
        [DllImport("kernel32.dll", ExactSpelling = true)]

        private static extern IntPtr GetConsoleWindow();
        private static IntPtr ThisConsole = GetConsoleWindow();

        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]

        private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
        private const int HIDE = 0;
        private const int MAXIMIZE = 3;
        private const int MINIMIZE = 6;
        private const int RESTORE = 9;

        static void Main(string[] args)
        {
            Console.SetWindowSize(Console.LargestWindowWidth, Console.LargestWindowHeight);
            ShowWindow(ThisConsole, MAXIMIZE);

            Console.WriteLine("Hello World in Full Screen!");
            Console.ReadLine();
        }
    }
}
 
Nahoru Odpovědět
16.7.2012 16:48
Avatar
matesax
Tvůrce
Avatar
 
Nahoru Odpovědět
16.7.2012 17:32
Avatar
Odpovídá na matesax
Neaktivní uživatel:16.7.2012 17:38

ještě jsem to nezkoušel :D

Nahoru Odpovědět
16.7.2012 17:38
Neaktivní uživatelský účet
Avatar
Odpovídá na matesax
Neaktivní uživatel:17.7.2012 9:22

Error 2 The type or namespace name 'DllImport' could not be found (are you missing a using directive or an assembly reference?)

Nahoru Odpovědět
17.7.2012 9:22
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:17.7.2012 9:23

néé můj tajnej projekt byl prozrazen :D

Nahoru Odpovědět
17.7.2012 9:23
Neaktivní uživatelský účet
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Neaktivní uživatel
David Hartinger:17.7.2012 9:31

Jsem ti to umázl a je dobré poslat zdroják :)

Nahoru Odpovědět
17.7.2012 9:31
New kid back on the block with a R.I.P
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
matesax:17.7.2012 9:31

Máš v using toto:

using System.Runtime.InteropServices;

?

 
Nahoru Odpovědět
17.7.2012 9:31
Avatar
Odpovídá na matesax
Neaktivní uživatel:17.7.2012 9:35

že já na to zapomněl ? :D

Nahoru Odpovědět
17.7.2012 9:35
Neaktivní uživatelský účet
Avatar
Nahoru Odpovědět
17.7.2012 9:35
Neaktivní uživatelský účet
Avatar
Odpovídá na matesax
Neaktivní uživatel:17.7.2012 9:36

ještě jsem se na to koukal že to tam nesmím zapomenout dát :D

Nahoru Odpovědět
17.7.2012 9:36
Neaktivní uživatelský účet
Avatar
Odpovídá na matesax
Neaktivní uživatel:17.7.2012 9:37

jede tak napůl,maximalizuje se to ale není to ve fullscreenu :/

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

Si pohraj s čísly,...

 
Nahoru Odpovědět
17.7.2012 9:38
Avatar
Nahoru Odpovědět
17.7.2012 9:42
Neaktivní uživatelský účet
Avatar
matesax
Tvůrce
Avatar
matesax:17.7.2012 9:52

No s parametry

Console.SetWindowSize

Není co bych dodal,... Ještě to přeložím Konzole.Nasta­vOknoVelikost - tedy nastav velikost okna konzole,...

Console.LargestWindowWidth

Je maximální šířka okna - tedy stačí k tomu něco málo příčíst - asi 1 - totéž k max height a je to - tedy asi bude třeba upravit pozici - a pak přičíst asi 2 k oboum parametrům,...

 
Nahoru Odpovědět
17.7.2012 9:52
Avatar
Nahoru Odpovědět
17.7.2012 10:03
Neaktivní uživatelský účet
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
matesax:17.7.2012 10:10

Jak he? Co víc chceš? :)

 using System;
using System.Runtime.InteropServices;

namespace ConsoleApplication1
{
    class Program
    {
        [DllImport("kernel32.dll", ExactSpelling = true)]

        private static extern IntPtr GetConsoleWindow();
        private static IntPtr ThisConsole = GetConsoleWindow();

        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]

        private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
        private const int HIDE = 0;
        private const int MAXIMIZE = 3;
        private const int MINIMIZE = 6;
        private const int RESTORE = 9;

        static void Main(string[] args)
        {
            Console.SetWindowSize(Console.LargestWindowWidth + Nějaké číslo - typuji 2, Console.LargestWindowHeight + nějaké číslo - typuji 3);
            ShowWindow(ThisConsole, MAXIMIZE);

            Console.WriteLine("Hello World in Full Screen!");
            Console.ReadLine();
        }
    }
}

Peostě si s těmi čísli hraj, dokud to nedá fullscreen,...

 
Nahoru Odpovědět
17.7.2012 10:10
Avatar
Odpovídá na matesax
Neaktivní uživatel:17.7.2012 10:13

no to jsem pochopil,ale jk mám vědět jaký monitor bude mít uživatel ?

Nahoru Odpovědět
17.7.2012 10:13
Neaktivní uživatelský účet
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
matesax:17.7.2012 10:18

Proto je tam Console.Larges­tWindowWidth to largest obou paramatrů - Width a Height se postará o zjištění rozlišení - tedy tato aplikace - ta původní se vždy maximalizuje - no a když k tomu přidáš nějaké o´hodnoty, tak zmizí i rámy - skutečný fullscreen se dělá úplně stejně - změnou velikosti okna,...

 
Nahoru Odpovědět
17.7.2012 10:18
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
matesax:17.7.2012 10:42

No jo - úplně jsi mne zmátl - nech si původní návrh - beze změn - tedy

 using System;
using System.Runtime.InteropServices;

namespace ConsoleApplication1
{
    class Program
    {
        [DllImport("kernel32.dll", ExactSpelling = true)]

        private static extern IntPtr GetConsoleWindow();
        private static IntPtr ThisConsole = GetConsoleWindow();

        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]

        private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
        private const int HIDE = 0;
        private const int MAXIMIZE = 3;
        private const int MINIMIZE = 6;
        private const int RESTORE = 9;

        static void Main(string[] args)
        {
            Console.SetWindowSize(Console.LargestWindowWidth, Console.LargestWindowHeight);
            ShowWindow(ThisConsole, MAXIMIZE);

            Console.WriteLine("Hello World in Full Screen!");
            Console.ReadLine();
        }
    }
}

Konzoli není možné hodit do fullscreenu - jen ji lze maximalizovat - což umí ten kód hoře - umí:

private const int HIDE = 0; - skrýt
private const int MAXIMIZE = 3; - maximizace
private const int MINIMIZE = 6; - minimizace
private const int RESTORE = 9; obnovení

 
Nahoru Odpovědět
17.7.2012 10:42
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
matesax:17.7.2012 10:45

Jak jsi tam hodil alt + enter v hlavě se mi to přehodilo na DosBox - který je konzoli hodně podobný - ten fullscreenovat jde - konzole nikoliv.

 
Nahoru Odpovědět
17.7.2012 10:45
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
matesax:17.7.2012 10:52

Jestli se ti bude chtít - udělej to v grafickém módu - winform application či wpfapplication. Tam dej dockovat textbox - nastav mu černé pozadí a fullscreen nastavíš:

http://www.dreamincode.net/…ppet2541.htm

Přepracováno - hoď toto jako funkci - tedy ne do nějaké metody - ale do třídy:

struct clientRect
        {
            public Point location;
            public int width;
            public int height;
        }

        clientRect restore;

A pak do metody:

this.restore.location = this.Location;
           this.restore.width = this.Width;
           this.restore.height = this.Height;
           this.TopMost = true;
           this.Location = new Point(0, 0);
           this.FormBorderStyle = FormBorderStyle.None;
           this.Width = Screen.PrimaryScreen.Bounds.Width;
           this.Height = Screen.PrimaryScreen.Bounds.Height;
 
Nahoru Odpovědět
17.7.2012 10:52
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Neaktivní uživatel
David Hartinger:17.7.2012 11:35

Nebo použít XNA :) Ale obecně je fullscreen až na výjimky ve Windows blbost, proto ho také nativně nijak nepodporují.

Nahoru Odpovědět
17.7.2012 11:35
New kid back on the block with a R.I.P
Avatar
Nahoru Odpovědět
17.7.2012 11:35
Neaktivní uživatelský účet
Avatar
matesax
Tvůrce
Avatar
Odpovídá na David Hartinger
matesax:17.7.2012 16:04

Tak nějak tě nechápu - vždyť je úplně běžný,...

 
Nahoru Odpovědět
17.7.2012 16:04
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na matesax
David Hartinger:17.7.2012 16:14

V čem je běžný? Windows se jmenují Windows proto, že programy běží v oknech. Okno je maximálně maximalizované, nikoli ve fullscreenu, protože to odporuje návrhu systému. Ve fullscreenu běží pouze hry, maximálně videopřehrávače.

Nahoru Odpovědět
17.7.2012 16:14
New kid back on the block with a R.I.P
Avatar
matesax
Tvůrce
Avatar
Odpovídá na David Hartinger
matesax:17.7.2012 16:17

No právě - hry a video přehravače - ty se používají běžně,... Navíc podle tvé definice - existuje snad OS, kde se fullscreen používá více?

 
Nahoru Odpovědět
17.7.2012 16:17
Avatar
matesax
Tvůrce
Avatar
Odpovídá na matesax
matesax:17.7.2012 16:18

Myslím grafické OS.

 
Nahoru Odpovědět
17.7.2012 16:18
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na matesax
David Hartinger:17.7.2012 16:23

Ano, ale Dan dělá Windows Forms aplikaci (nebo přesněji dokonce konzolovou) a tam je prostě fullscreen blbost. Hry jsou jiný typ aplikací, kde se používá DirectX a ten je pro fullscreen navržený.

Fullscreenové OS jsou ty singletaskingové, býval to např. DOS. Naštěstí jsou ty doby již za námi.

Nahoru Odpovědět
17.7.2012 16:23
New kid back on the block with a R.I.P
Avatar
matesax
Tvůrce
Avatar
Odpovídá na David Hartinger
matesax:17.7.2012 16:26

Proto jsem to upřesnil na grafické OS,...

 
Nahoru Odpovědět
17.7.2012 16:26
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 30 zpráv z 30.