2010-07-30 49 views
3

任何人都可以告诉我如何在C中创建一个基本的可用Windows应用程序(我对C++有一点点了解)?Windows应用程序C

+3

我觉得值得说明的是,如果你正在谈论用C开发一个窗口化的应用程序,那么你将为自己打开一个整个世界。如果你这样做是因为你知道C并且对加速C#或Java的学习曲线感到警惕,那么你担心错误的事情。您将在C#*中更快地开发您的应用程序,包括C#/ .Net/OOP学习曲线*,而不是您在C中的有用Windows应用程序。我意识到这个建议可能并不适用于您,但感觉这说得更好。 – 2010-07-30 15:36:43

+1

P.S.当火箭科学家和脑外科医生想要一个比喻来代替“至少它不是Rocket Science/Brian Surgery”时,他们会说“至少它不是用C开发Windows应用程序”。 – 2010-07-30 15:45:03

+0

看到这个链接:http://stackoverflow.com/questions/3354692/windows-programing-in-c/3354967#3354967 – lsalamon 2010-07-30 15:47:54

回答

6

Get Petzold的Programming Windows book;它是一个经典的代码,涵盖了其核心C根的Win32开发。

+0

Downvoted?真? – 2010-07-30 15:47:00

+0

这很难相信,因为他的书或多或少是我所知道的主题上的标准文本。 – dsolimano 2010-07-30 16:52:36

+1

我注意到有很多非常好的答案获得了未注释的downvotes,我开始怀疑有无数懵懂的歹徒在这些页面上游荡。 – 2010-07-30 23:34:57

1
#include <stdlib.h> 
int main() 
{ 
    printf("Hello World!"); 
} 

将作为Windows应用程序编译和运行。如果你想做点什么特定,那么请让我们知道。没有什么能够使Windows应用程序与其他任何应用程序不同。

+0

除了可能是一个窗口:) – 2010-07-30 15:19:12

+1

@ 0A0D:你可以是一个Windows应用程序,而不是实际创建一个窗口。 – 2010-07-30 16:39:07

+0

从技术上讲,这不是一项服务吗?即使一个控制台应用程序有一个“窗口” – 2010-07-30 17:40:09

1

也许在this link视频将有所帮助。如果没有,MSDN上可用的其他资源将启动您。

除此之外“如何编写Windows程序”只是一个广泛和大的话题,在这里真正解决。

1

Raymond Chen的scratch program是一个功能最低的白色盒子,是他发布的其他一些文章的基础。

您可以在Visual Studio中进行编译。在VS2005中,我创建了一个新的空C++项目,并将comctl32.lib添加到Configuration->Linker->Input->Additional Dependencies

3

最起码的窗户C程序是这样的: -

#include <windows.h> 
#include "resource.h" 

int CALLBACK WinMain(HINSTANCE hApp, HINSTANCE, LPSTR pszCmdLine, int nCmdShow) 
{ 
    return DialogBoxParam(hApp,MAKEINTRESOURCE(IDD_DIALOG1),NULL,NULL,NULL); 
} 

它假设你已经使用的资源编辑器创建一个名为IDD_DIALOG1对话框资源。该对话框将显示,并在关闭按钮被点击时关闭。

+1

+1。但是,这个怎么样: '#包括 INT主要(){ MessageBox的 (NULL, “Hidey何”, “消息”,MB_OK); return 0; } ' :-) – 2010-07-30 23:39:48

+1

这真的很简单。从对话框资源开始的一点是,您可以通过添加对话框过程和处理消息来实际增长程序。 – 2010-07-31 06:59:32