【问题标题】:How do i put mouse cursor in a program in c?如何将鼠标光标放在c中的程序中?
【发布时间】:2026-02-08 14:05:02
【问题描述】:

尽可能简单,我只是想将鼠标光标放在我的系统中,用于我使用 C 的项目。我最近刚刚开始学习编程,我们现在正在学习基本的 C 编程。所以,我们的项目是基于C编程的。(OS:Windows 10,IDE:Turbo C++)

【问题讨论】:

  • “放鼠标光标”是什么意思?改变光标的位置?这取决于平台,你说的是什么平台?
  • ISO C 没有键盘或鼠标的概念。它只有标准输入流的概念。因此,如果您希望您的程序能够与鼠标交互,您将需要特定于平台的功能。因此,请说明您的问题适用于哪个平台(操作系统)。
  • “编辑摘要”字段不应该用于添加重要信息,因为大多数人不会阅读它。您使用的是 15 年前的编译器(Turbo C++)这一事实是非常重要的信息。请将该信息放入问题本身。
  • 另外,“Turbo C++”也不一定是指 2005 年左右发布的有点现代的 RAD 工具,但可以指古老的 DOS 之一或介于两者之间的任何东西。
  • Turbo C++ 的图形模式已经很过时了。我不建议您继续使用它。有许多现代替代品。既然你说你使用的是Windows 10,我建议你下载Microsoft Visual Studio Community Edition(免费),学习the basics,然后看看Windows graphics

标签: c


【解决方案1】:

鼠标输入(与标准输入不同)不是 C 语言的特性,因此仅在 C 语言中无法实现。

我可以推荐的是为支持鼠标、面向 GUI 的环境(如 Windows 或 Gnome)创建一个全新的程序。但这既不是 C 问题,也不是“添加到现有程序”。

/编辑:

对于 Windows 方式,我全心推荐Charles Petzold's book "Programming Windows", 4th or 5th edition,从 1998 年开始(不要去 6th,他切换到 C#)。它是关于 Win32 C API 和从编写命令行程序到 GUI 应用程序的一般过渡。尽管它也不是很现代,但它可以很好地了解面向 GUI 的系统如何在幕后工作。恕我直言,这对每个 C 程序员来说都是必须的。

【讨论】:

    【解决方案2】:

    这不是标准语言功能。您需要使用图形或 GUI 库来使用此操作系统接口。这不仅仅是“将鼠标放入” - 您可以将窗口模式从文本(您通常从什么开始)更改为图形(您需要指定坐标来绘制事物,不能只输出到标准输出),或者表单应用程序(其中是图形模式的封装)。

    对于 GUI,最简单的方法是让您的操作系统原生的表单/图形窗口应用程序。 Visual Studio 对此有一个向导。

    可以说更好的做法是使用跨平台库,例如 Qt (C++) 或 GTK+ (C)。还有其他的。对于初学者来说,使用这样的外部库可能并非易事。

    要获得一个允许您查询鼠标坐标的图形窗口(但请注意,例如 stdout 将不会显示在屏幕上 - 您需要使用文本绘图功能)要使用的标准库是 OpenGL。我个人对Allegro library 也有很好的体验,它的界面非常简单,但同样 - 你的应用程序将变成图形化的。

    最后,如果您想保留文本界面并添加鼠标输入功能,您可以使用广泛使用的ncurses - 但对于初学者来说,这很可能不简单,尤其是在 Windows 上。

    因此,在我看来,您最现实的选择似乎是 Windows 窗体或图形库,例如 Allegro。

    您还可以查看相关(不幸的是,已关闭)SO 问题:Cross Platform C library for GUI Apps?

    【讨论】:

      最近更新 更多