可以全屏打开程序的应用程序?

发布于 2024-10-13 02:29:24 字数 78 浏览 4 评论 0原文

我需要制作一个在全屏模式下启动新程序(例如记事本)的应用程序。我可以在 c# 中做到这一点吗?

我希望有一个代码示例。谢谢:)

I need to make an application that starts new program (ex. notepad) in fullscreen mode. Can I do that in c#?

I'd appreciate a code sample.Thanks:)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

北斗星光 2024-10-20 02:29:24

您可以将 Process.StartProcessStartInfo 对象其中有一个 WindowStyle< /a> 属性。您可以设置该属性,以便窗口开始最大化。

改编自 Process.Start 中的示例:

ProcessStartInfo startInfo = new ProcessStartInfo("notepad.exe");
startInfo.WindowStyle = ProcessWindowStyle.Maximized;
Process.Start(startInfo);

如果进程已在运行,请参阅 这里

You can use Process.Start with a ProcessStartInfo object which has a WindowStyle property. You can set that property so that the window starts maximized.

Adapted from the example at Process.Start:

ProcessStartInfo startInfo = new ProcessStartInfo("notepad.exe");
startInfo.WindowStyle = ProcessWindowStyle.Maximized;
Process.Start(startInfo);

If the process is already running, see here

水染的天色ゝ 2024-10-20 02:29:24

F11 键最常用于进入和退出全屏模式,因此在程序启动后,您可以调用 User32.SendInput WinApi (使用 Nuget 中的 PInvoke.User32 )。

   static async Task Main(string[] args)
    {
        StartProcess(_Config.FileName, _Config.Args);
        await Task.Delay(_Config.Delay);
        SendKey_F11();
    }

    static void StartProcess(string fileName, string args)
    {
        new Process()
        {
            StartInfo = new ProcessStartInfo()
            {
                FileName = fileName,
                Arguments = args
            }
        }
        .Start();
    }

    static void SendKey_F11()
    {
        PInvoke.User32.INPUT inp = new PInvoke.User32.INPUT();
        inp.type = PInvoke.User32.InputType.INPUT_KEYBOARD;
        inp.Inputs.ki.wVk = PInvoke.User32.VirtualKey.VK_F11;
        inp.Inputs.ki.wScan = PInvoke.User32.ScanCode.F11;

        PInvoke.User32.SendInput(1, new[] { inp }, 40);
    }

以同样的方式,您可以调用任何其他热键命令来进入全屏模式。

F11 key is most often used to enter and exit fullscreen mode, so after program starts, you can call User32.SendInput WinApi (use PInvoke.User32 from Nuget).

   static async Task Main(string[] args)
    {
        StartProcess(_Config.FileName, _Config.Args);
        await Task.Delay(_Config.Delay);
        SendKey_F11();
    }

    static void StartProcess(string fileName, string args)
    {
        new Process()
        {
            StartInfo = new ProcessStartInfo()
            {
                FileName = fileName,
                Arguments = args
            }
        }
        .Start();
    }

    static void SendKey_F11()
    {
        PInvoke.User32.INPUT inp = new PInvoke.User32.INPUT();
        inp.type = PInvoke.User32.InputType.INPUT_KEYBOARD;
        inp.Inputs.ki.wVk = PInvoke.User32.VirtualKey.VK_F11;
        inp.Inputs.ki.wScan = PInvoke.User32.ScanCode.F11;

        PInvoke.User32.SendInput(1, new[] { inp }, 40);
    }

In the same way you can call any other hotkey command to enter fullscreen mode.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文