如何编写Windows应用程序?

时间:2009-07-18 21:39:59

标签: c winapi api

我是编程新手,我想写一个Windows应用程序。到目前为止,我已经阅读了24小时内自学C教学,我应该做什么(阅读教程)旁边完成我的目标?感谢

13 个答案:

答案 0 :(得分:11)

当我第一次开始开发Windows应用程序(大约15年前)时,我记得在Charles Petzold阅读了一些非常有用的内容。他最近的书是关于C#的,但他的旧书仍然相关,因为Win32 API在基础知识方面没有那么大的变化。

答案 1 :(得分:10)

你好,世界!

撰写着名的“Hello,World”计划(谷歌如果不确定):

  1. 将文本输出到控制台。
  2. 将文本输出到对话框窗口。
  3. 在选择菜单项后显示对话框。
  4. 然后,如果你仍然热衷于:

    1. 编写一个程序,允许用户在文本字段中键入文本。单击按钮后在对话框窗口中显示该文本。
    2. 将文本保存到文件中。
    3. 编写程序以读取文件并在窗口中显示其内容。
    4. 这应该让您开始学习编写Windows应用程序时发生的事情的基础知识。

      此外,请阅读此人主动推荐您阅读的所有链接。

      旧与新

      学习.NET,C#和C ++的建议很棒。这些技术为您隐藏了许多无聊的“咕噜咕噜”工作。我仍然认为,出于各种原因了解较低级别的情况是很好的,包括:

      • 学习C不仅适用于基于Windows的应用程序(有些人认为.NET和C#是可移植的,理论上这是正确的,而ANSI C和Java在实践中是可移植的。)
      • 了解隐藏的内容可以避免技术错误并诊断深层技术问题。

      此时它确实取决于你的目标。如果您只想编写Windows应用程序,那么请使用更适合此类任务的现代技术。如果您想编写一个Windows应用程序,了解如何编写一般应用程序(不一定仅适用于Windows),那么请继续追求C路径,并在扩展知识时分支到其他技术。

答案 2 :(得分:4)

取决于申请。但您现在需要的是熟悉API。 API基本上是预制函数,您可以将其用作工具......无论API是为帮助您而设计的。您正在寻找图形用户界面API。 Windows有自己的,但我建议你使用跨平台的东西,这样你的应用程序就可以在多个平台上运行。

在维基百科上查看这些内容:

+ GTK

奇趣科技的QT4

他们几乎可以做任何事情,Windows API可以做更多的好处,在Windows,Linux,Mac等多个平台上工作。

答案 3 :(得分:2)

http://winprog.org/tutorial/

这些对于学习Win32非常有用。查尔斯·佩佐尔德(Charles Petzold)是一个很好的资源,如果你可以得到一份副本,但是“伪造者”是免费的,你现在可以把它们放在你的小手中。

一般情况下,您应该花一些时间来编写首先使用标准库的C / C ++应用程序。打开文件,编写输出,编写文件,读/写stdio,并首先掌握语言的基础知识。

查阅有关数据结构的书籍和算法分析对于您想要做的任何类型的编程都很有用。

答案 4 :(得分:1)

阅读this

您是否建议您在C中编写Windows桌面应用?那是一个很长的路要走。根据{{​​3}},你回到了2002年。

大多数在Windows上编写的人都在使用.NET,这意味着使用C ++或C#。

答案 5 :(得分:1)

如果您需要一些GUI或复杂功能, 你需要一些面向对象的编程技巧...
你可以阅读本书的一些内容:首先 ...来自O'Reilly

  1. 首先是面向对象的分析和设计
  2. Head First Software Development
  3. 首先使用C#或Java(哪种语言无关紧要......)
  4. Trolltech Qt4,这也是必须的!谢谢CptAJ
  5. 对于初学者来说,它们是非常好的书......也是高级程序员; - )

    很好读!

答案 6 :(得分:1)

我不同意这里的很多答案......从头开始学习并不是件坏事。

我不会出去在C中制作一个完整的应用程序,但肯定在C中制作一个小应用程序是学习语言和欣赏(或更可能,厌恶)win32 API的好方法。

此外,如果你没有经历过痛苦的做事方式,你就无法真正体会到新的语言/框架会为你做些什么。

那就是说,认识到有更新的语言和框架,并且也学习它们;特别是如果你想找工作的话。

答案 7 :(得分:1)

我强烈推荐theForger's Win32 API Programming Tutorial。它非常简洁易懂,而且免费。

答案 8 :(得分:1)

虽然我不会说你浪费了你的时间来学习一些C,但我猜这不是你最终要去的地方。

如果你真的想要滚动,没有太多麻烦,我强烈建议:

这应该可以让你得到你想要的。你会得到你需要的一切,而且Petzold非常简单地开始你,并且让你在不失去你的情况下制作有趣的应用程序。

(您可能想知道为什么我和其他许多人在您明确表示您已经阅读并了解了C之后指示您使用C#或其他语言。这是因为使用旧版Win32 API在Windows中编程很多更加乏味。很容易很快就被必须进入的额外糠壳所淹没。)

答案 9 :(得分:1)

在Microsoft,我们一直在努力为简单创建Windows应用程序提供一些很好的资源。我们的页面Start Programming with Windows 7将为中级和高级程序员提供大量新资源。

我们一直致力于开展两个非常重要的新学习系列:

  • Hilo项目:一个从头开始构建的应用程序,用于展示如何使用最现代的编程和应用程序设计方法开发专门针对Windows 7功能的程序。
  • 学习Windows程序模块:由Microsoft开发人员教育专家撰写的Windows编程简介。这个模块听起来更像你想要的,我建议你看一下。

我们正在研究如何在Windows开发人员中心尽可能地展示学习资源 - 一系列开发人员学习资源,适用于刚开发Windows或刚开发使用最新Windows功能的人员。

MSDN主页上的客户端/桌面应用程序的新Home和Hub资源将提供其他指导。

答案 10 :(得分:0)

尝试Ramp Up's Developer Basics,一条微软学习之路,逐步展示如何启动Windows编程。您可以使用Visual C# Express版本的Visual Studio作为开发环境。

答案 11 :(得分:0)

阅读本书Learn to Program with C#

然后,在WPF中制作小项目;最好的WPF书是Windows Presentation Foundation Unleashed;在阅读C#/开始编程书之后尝试一下。

C#,.NET Framework和WPF是为了超越C Win32 API而创建的,以便更轻松地创建Windows应用程序。

如果要创建标准Windows应用程序,请遵循该路径。

答案 12 :(得分:-2)

我建议使用VB而不是C#。语法更友好一点,它具有所有相同的功能和性能。

为什么不按照MSDN教程进行操作?如果你不喜欢他们尝试谷歌搜索“VB教程”。

http://msdn.microsoft.com/en-ca/library/hewcw458.aspx

VB或C#都有大量可以用Google搜索的例子。如果只是为了“谷歌支持”,我会坚持使用这两种语言中的任何一种语言。