user-0 提问: 用C语言写程序能编出带有窗口的程序嘛

回复:
user: user-1
content: sdk吧（就是学些api函数）~可以看那个C语言也能干大事的视频

user: user-2
content: 引用 15 楼 inuyashazh 的回复:[quote=引用 14 楼 TBWood 的回复:] War3据说就是C写的。 头像是我很崇拜的人[/quote] 没记错的话，是特斯拉？ 此人的确妖，以前看克里斯托弗诺兰的致命魔术，印象很深~~

user: user-3
content: 学GTK+可以不？我现在想学， 不过资料少， 要不要一起学习？我QQ522468522

user: user-4
content: #pragma comment(lib,"user32") #include <windows.h> #include <conio.h> void main() {     int r;      cprintf("press any key...");     getch();     r=MessageBox(NULL,"Hello!","MsgBox",MB_OKCANCEL|MB_SETFOREGROUND);     cprintf("\r\nr=%d",r); }

user: user-5
content: 可以学习GTK+

user: user-6
content: 引用 24 楼 yifuzhiming 的回复:用C语言写窗体，简直就是蛋疼，有钱没地花  你丫一生下来就参加工作了  知道学习这两个字的含义吗？

user: user-0
content: 引用 39 楼 u010165006 的回复:程序是基于DOS还是基于Windows？windows吧，现在大一，还没想好以后的就业方向T.T

user: user-4
content: 引用 39 楼 u010165006 的回复:程序是基于DOS还是基于Windows？ 程序是基于Unix还是基于VxWorks？

user: user-7
content: 程序是基于DOS还是基于Windows？

user: user-4
content: Alphabetical List of MFC Samples Sample Illustrations  ACDUAL Demonstrates how to add dual interface support to an MFC-based Automation server.  AUTOCLIK Tutorial example illustrating Automation features in Visual C++ Tutorials.  AUTODRIV A simple Automation client application that drives the AUTOCLIK tutorial sample application.  BINDENRL Databound controls in a dialog-based application with property pages.   BINDSCRB Illustration of the use of new COM interfaces to components currently supported by the Microsoft Office suite of products.   CALCDRIV Automation client.  CATALOG Illustration of direct calls to ODBC functions in general, and the ODBC functions SQLTables and SQLColumns in particular.  CATALOG2 Illustration of direct calls to ODBC functions in general using Windows Common Controls.  CHATSRVR Discussion server application for CHATTER.  CHATTER Client application that uses Windows Sockets.  CHKBOOK Record-based (nonserialized) document.  CIRC Tutorial sample that teaches you how to create a simple ActiveX control called Circle.  CMNCTRL1 Demonstrates how to create and change the styles of Windows Common Controls using MFC classes (Part 1).  CMNCTRL2 Demonstrates how to create and change the styles of Windows Common Controls using MFC classes (Part 2).  COLLECT MFC C++ template-based collection classes, and standard prebuilt collection classes.  CONTAINER Tutorial example illustrating ActiveX Visual Editing container features in Visual C++ Tutorials.  COUNTER Using an ISAPI DLL to send image data (rather than HTML data) back to a Web browser.   CTRLBARS Custom toolbar and status bar, dialog bar, and floating palette.  CTRLTEST Owner-draw list box and menu, custom control, bitmap button, spin control.  CUBE OpenGL application using MFC device contexts along with OpenGL's resource contexts.  DAOCTL DAO database class functionality and ActiveX controls let you examine a database.  DAOENROL Based on ENROLL, but migrated to the DAO database classes. Also serves as Step 4 of the DaoEnrol tutorial.  DAOTABLE Creates a Microsoft Access database (.mdb file) and its tables, fields, queries, and indexes using MFC DAO database classes.   DAOVIEW DAO database classes and Windows Common Controls let you view the schema of a database.  DBFETCH Demonstrates the use of bulk row fetching in the ODBC database classes.  DBVList Demonstrates the virtual list view functionality available for the list view common control.  DIBLOOK Device-independent bitmap and color palette.  DLGCBR32 Adding a toolbar and a status bar to a dialog-based application.  DLGTEMPL Shows how to create dialog templates dynamically.  DLLHUSK Sharing the DLL version of the Foundation class library with an application and custom DLL.  DLLTRACE Statically linking the MFC library to a custom DLL.  DOCKTOOL Dragging and floating toolbars that are "dockable".  DRAWCLI Full-featured object-oriented drawing application that is also an ActiveX Visual Editing container.  DRAWPIC Getting a Windows handle to a bitmap or icon from an LPPICTUREDISP.  DYNABIND Dynamic binding of database columns to a recordset.   DYNAMENU Dynamically modifying list of items in menus; handling commands not known at compile time; and updating the status bar command prompt for such commands.  ENROLL Tutorial example illustrating database features in Visual C++ Tutorials.  EXTBIND Shows how to bind data-aware controls across a dialog box boundary.  FIRE Dialog-based application that demonstrates five Windows Common Controls.  FTPTREE Displays the contents of an FTP site in a tree control.  GUIDGEN A dialog-based MFC application used to generate globally unique identifiers, or GUIDs, which identify OLE classes, objects, and interfaces.  HELLO Simple application with frame window but no document or view.  HELLOAPP Minimal "Hello World" application.  HIERSVR ActiveX Visual Editing server application with drag and drop.  HTTPSVR Uses MFC Windows Socket classes to implement an Internet HTTP server.  IMAGE Demonstrates an ActiveX control that is capable of downloading data asynchronously.  INPROC An in-process Automation server that can be loaded as a DLL in the client's address space.   IPDRIVE A simple Automation client application that drives the INPROC sample application.   LISTHDR Demonstrates the List View and Header Common Controls.  MAKEHM Command line utility for associating resources with Help contexts.  MDI MDI application that does not use documents and views.  MDIBIND Demonstrates data binding in CWnd-derived windows, but only at run time.   MDIDOCVW New version of the MDI sample that uses the document/view architecture.  MFCBIND Shows how to create an ActiveX document (formerly known as a DocObject) container using the ActiveX document container support classes.  MFCCALC An Automation server that implements a simple calculator.  MFCIE Uses MFC's CHtmlView and CreBar classes to implement a subset of the functionality provided by Microsoft Internet Explorer.  MFCRows Shows how to useCOleDBRecordView to scroll through a table in a database. Also how to use multiple accessors so you can update an Access table that contains an AutoNumber field to be retrieved.  MFCUCASE Demonstrates MFC support for Internet Server filter DLLs.  MODELESS Demonstrates the use of an MFC CDialog object as a modeless dialog.  MTGDI Multithread illustration, where GDI resources are converted to MFC objects and back.  MTMDI Multithread illustration, where user-interface events are processed in a separate user-interface thread.  MTRECALC Multithread illustration, where recalculations are done in a worker thread.  MULTIPAD Simple MDI text editor using the CeditView class.  MUTEXES Demonstrates the use of the Cmutex class for multithreading.  NPP Editor demonstrating toolbars, status bars, and other controls.  OCLIENT ActiveX Visual Editing container application, with drag and drop.  ODBCINFO Shows how to determine various ODBC driver capabilities at run time.  OLDBARS Provides support for applications that rely on the old implementations of CToolBar and CStatusBar by providing the source code for these classes.  OLEVIEW Implementing an OLE object browser through custom OLE interfaces.  PINBALL An Internet Server Extension DLL that provides graphics and also redirects users to a Web site for further research.  PROPDLG Property sheets (dialogs).  ROWLIST Illustrates full row selection in a list-view common control.   SAVER Screen saver written with MFC.  SCRIBBLE Main tutorial example in  Visual C++ Tutorials.  SMILEY Modifying properties, calling methods, and handling events from the SMILE control in the SMILEY container.  SNAPVW Shows how to use property pages in a MDI child frame window.  SPEAKN Multimedia sound using user-defined resources.  StockTicker An MFC and ATL application that retrieves stock quotes from the Web and displays them in an ATL control. The user can set the display's properties, including rate of data refresh.  STDREG Tool for populating the Student Registration database (used by the Enroll database tutorial) in any format supported by an ODBC driver. Illustrates SQL table creation.  SUPERPAD ActiveX Visual Editing server that edits text using CEditView.  TEAR MFC console application that uses the Wininet.dll.   TEMPLDEF Command line tool that expands source files similar to C++ templates.   TSTCON Implements an ActiveX control container using MFC's support for OLE embedding. You can use TSTCON to test ActiveX controls, change their properties, and invoke their methods.  TESTHELP An ActiveX control that has its own help file and tooltips.  TRACER Tool that sets the Foundation class application trace flags kept in AFX.INI.  TRACKER Illustration of the various CRectTracker styles and options.  VCTERM Simple terminal emulation program illustrating the use of the Mscomm32.ocx ActiveX control.  VIEWEX Multiple views, scroll view, splitter windows.  WIZARD97  Demonstrates implementing a wizard that supports background bitmaps and wide header titles and images. This wizard design is supported for Windows 98 and Windows NT 5.0; you must be using Windows 98 or Windows NT 5.0 for this sample to work properly.  WORDPAD Uses MFC's support for rich edit controls to create a basic word processor.  WWWQUOTE Retrieves information from a database and provides it to the user via an HTTP connection to the server.    See Also  Microsoft Foundation Class Library Samples Index

user: user-8
content: 如果要做些win下的小工具自己用，c#很简单易学

user: user-9
content: 可以去看 C语言也能干大事 视频教程

user: user-10
content: 用lua+wxwidget试试，听说的，我也在找好用的gui编程方法

user: user-11
content: 引用 28 楼 unituniverse2 的回复:写窗口程序Demo用C更适合。 你一开始就用MFC、WTL、QT什么的，程序怎么跑起来的都搞不清楚。稍微想复杂点的功能就可以搞死你。用C写是看得最清楚的++ 有道理

user: user-12
content: 建议用第三方软件，如OpenGL,可以在多个平台上用。

user: user-13
content: windows程序设计第五版 关键是结构体跟API..

user: user-14
content: Qt 现在很流行，可以跨平台

user: user-15
content: 推荐书籍《windows程序设计》和《windows核心编程》，要有耐性

user: user-16
content: 可以，就是比较麻烦。

user: user-17
content: 引用 20 楼 crestine 的回复:[quote=引用 9 楼 sholber 的回复:] [quote=引用 8 楼 PDD123 的回复:] [quote=引用 3 楼 crestine 的回复:] 建议先面向对象程序设计，再学习 win32 API ，在对 API 的功能和用法有了一定的理解之后，然后去学习其他的类库，比如 MFC 、图形库 等等，把这些都学好了就可以随心所欲地编写出你想要的程序了。 我也是这么过来的。[/quote] 不面向对象就弄不出窗口程序了？这话是怎么说的。[/quote] 不面向对象，只学习 基础编程语言(C、C++等)，再配合 win32 API ，也能写出窗口程序。写简单一点的程序采用这种方式还可以，如果要编写复杂一些的大规模程序，就不好弄了，在这种情况下，采用 MFC 就容易多了。而如果你不懂面向对象，不理解继承、封装、多态，你就无法很好的使用 MFC 了。再者，面向对象是一种新的编程思想，武装了这种思想，可以简化编程模型，提高工作效率。还有，如果你掌握了面向对象技术，即使你哪一天对 C/C++ 烦了，那么转投其他领域也是轻而易举的事情。[/quote] 我是这样学过来的