2009-07-18 17 views
5

Jestem bardzo nowy w programowaniu i chciałbym napisać aplikację systemu Windows. Do tej pory przeczytałem Teach Yourself C w 24 Hours, co mam zrobić (samouczek do przeczytania), aby osiągnąć mój cel? DziękiJak napisać aplikację systemu Windows?

+1

Witam. W polu tytułu podajesz krótki opis tego, o co pytasz. Zwróć uwagę, jak zmieniłem tytuł? To więcej, do czego jest przeznaczony. –

+0

Spraw, aby twoje tytuły pytań były mniej szczegółowe - ich edycja nie jest przyjemnością. –

+1

Jaki rodzaj aplikacji zamierzasz zrobić? – Matthieu

Odpowiedz

10

Kiedy po raz pierwszy zacząłem tworzyć aplikacje dla systemu Windows (około 15 lat temu), przypominam sobie czytanie bardzo przydatnych rzeczy przez Charles Petzold. Jego nowsze książki dotyczą języka C#, ale jego starsze książki są wciąż aktualne, ponieważ interfejs Win32 API nie zmienił się tak bardzo, jeśli chodzi o podstawy.

+1

W szczególności [Programowanie systemu Windows] (http://www.charlespetzold.com/pw5/index.html), a dowiesz się wiele na temat nakrętek i śrub systemu Windows. – artlogic

+1

+1. książka Petzolda daje naprawdę dobre podstawy do podstawowego rozwoju Win32. –

+1

Programowanie Windows to świetna książka. –

1

Przeczytaj this.

Sugerujesz, że chcesz napisać aplikację komputerową dla systemu Windows w języku C? To daleko w przeszłość. Wróciłeś w 2002 roku, zgodnie z this.

Większość osób piszących w systemie Windows używa .NET, co oznacza C++ lub C#.

+3

Nie wydaje mi się, że napisanie _one_ w C. – Nosredna

+0

nie jest złym pomysłem. Nosredna nie jest żadnym złym pomysłem. Nie jestem programistą systemu Windows, więc nie wiem nawet, czy interfejsy API Petzold są nadal dostępne. Używałbym C++ jako "lepszego C", gdybym nadal to pisał. – duffymo

+0

Cóż, z pewnością mógłby używać kompilatora C++ i traktować go jak C, jeśli chce. – Nosredna

9

Witaj, świecie!

Napisz słynne "Hello, World" Program (Google to w przypadku wątpliwości):

  1. Do tekstu wyjściowego do konsoli.
  2. Aby wysłać tekst do okna dialogowego.
  3. Aby wyświetlić okno dialogowe po wybraniu pozycji menu.

Następnie, jeśli nadal są chętni:

  1. Napisz program, który umożliwia osobie wpisać tekst w polu tekstowym. Wyświetlaj ten tekst w oknie dialogowym po kliknięciu przycisku.
  2. Zapisz tekst w pliku.
  3. Napisz program do odczytu pliku i wyświetlenia jego zawartości w oknie.

To powinno Ci zacząć poznawać podstawy tego, co dzieje się podczas pisania aplikacji Windows.

Przeczytaj także wszystkie linki, które ludzie polecają do przeczytania, w tym wątku i inne.

Old vs. nowe

Informacje dla nauki .NET, C#, C++ i jest super. Te technologie ukrywają dla ciebie wiele nudnych "chrząknięć". Wciąż czuję, że dobrze jest mieć wiedzę o tym, co dzieje się na niższym poziomie, z różnych powodów, w tym:

  • Learning C ma zastosowanie do ponad aplikacji opartych na systemie Windows (niektórzy twierdzą, .NET i C# są przenośny, co prawda w teorii, podczas gdy ANSI C i Java są przenośne w praktyce).
  • Zrozumienie tego, co ukryte, pozwoli uniknąć błędów technicznych i zdiagnozować głębokie problemy techniczne.

W tym momencie to naprawdę zależy od celów. Jeśli chcesz tylko napisać aplikację Windows, użyj nowoczesnych technologii, które lepiej nadają się do takiego zadania.Jeśli chcesz napisać aplikację Windows ze zrozumieniem, jak pisać aplikacje w ogóle (niekoniecznie tylko dla Windows), to kontynuuj poszukiwanie ścieżki C na razie i dziel się na inne technologie, poszerzając swoją wiedzę.

1

Jeśli potrzebujesz GUI lub złożone funkcje, trzeba trochę zorientowanych umiejętności programowania obiektowego ...
Możesz przeczytać niektóre z tych książek Seria: Head First ... od O'Reilly

  1. Head First Object-Oriented Analysis and design
  2. Head First Software Development
  3. Head First C# lub Java (To nie ma znaczenia w jakim języku ...)
  4. Trolltech Qt4, to też musi! Dzięki CptAJ

Są bardzo ładne książki dla początkujących i zaawansowanych programistów ... zbyt ;-)

miłej lektury!

+1

Jeśli uczy się C, dlaczego pomogą mu umiejętności obiektowe? C jest językiem proceduralnym. Oczywiście, jeśli twoja rekomendacja jest taka, że ​​powinien naprawdę uczyć się języka C# lub Java, twoja sugestia jest ważna, ale nie poleciłeś innego języka. –

+1

Możesz programować w systemie Windows bez OOP! Wystarczy zwykły C. – PhiLho

+0

Ponieważ większość aplikacji Windows z GUI tego potrzebuje! – Matthieu

4

W zależności od aplikacji. Ale teraz musisz się zapoznać z interfejsem API. Interfejsy API to w zasadzie gotowe funkcje, które są używane jako narzędzia do ... cokolwiek to jest API zostało zaprojektowane, aby ci pomóc. Szukasz interfejsu API graficznego interfejsu użytkownika. Windows ma swoją własną, ale polecam użyć czegoś krzyżowego, aby Twoja aplikacja działała na wielu platformach.

Spójrz nich się na wikipedii:

GTK +

Trolltech na QT4

Mogą one prawie nie cokolwiek Windows API może zrobić z dodatkową korzyścią dla pracy na wielu platformach, takich jak Windows, Linux, mac itp

0

Spróbuj Ramp Up's Developer Basics, a Microsoft Learning, który pokazuje drogę STPE przez STPE Jak zacząć programowanie Windows. Możesz użyć wersji programu Visual Studio jako środowiska programistycznego.

-2

Proponuję użyć VB zamiast C#. Składnia jest trochę bardziej przyjazna i ma wszystkie równoważne funkcje i wydajność.

Dlaczego nie zastosować samouczków MSDN? Jeśli ci się nie spodoba, spróbuj google "samouczek VB".

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

Albo VB lub C# ma przykładami zillion wszystkiego co można google. Pozostałbym w jednym z tych języków, choćby tylko w przypadku "wsparcia google".

2

http://winprog.org/tutorial/

Są bardzo dobre do nauki Win32. Charles Petzold jest dobrym źródłem informacji, jeśli można dostać w swoje ręce egzemplarz ale fałszerz są wolne i można je mieć w swoich gorących rączkach teraz.

Na ogół jednak należy poświęcić trochę czasu tylko pisanie aplikacji C/C++, które używają standardowych bibliotek pierwszy. Otwieranie plików, pisanie wydruków, pisanie plików, czytanie/pisanie stdio i najpierw dobre opanowanie podstaw języka.

Wyszukiwanie książek o strukturach danych i analiza algorytmów jest podstawą każdego rodzaju programowania, które chcesz wykonywać.

1

Nie zgadzam się z wieloma odpowiedziami tutaj ... Uczenie się od podstaw nie jest złe.

Nie chciałbym wychodzić i tworzyć całej aplikacji w C, ale z pewnością zrobienie małej aplikacji w C jest dobrym sposobem zarówno na naukę języka, jak i na docenienie (lub, co bardziej prawdopodobne, nienawiść) API win32.

Poza tym, nie możesz naprawdę docenić tego, co nowsze języki/frameworki robią dla ciebie, jeśli nie doświadczasz starego bolesnego sposobu robienia rzeczy.

Powiedziawszy to, zdaj sobie sprawę z tego, że istnieją nowsze języki i struktury i ucz się ich również; szczególnie jeśli próbujesz wylądować.

+1

Jeśli kiedykolwiek wystarczająco wczepisz się w API Win32, aby spotkać 'MsgWaitForMultipleObjectsEx', to jest to interfejs API .NET BCL, który będziesz nienawidził ... ponieważ w .NET cała aktywność plików i sieci jest funkcją synchroniczną, a zdarzenia są tylko dla GUI, podczas gdy Win32 pozwala * wszystko * być wydarzeniem, które jest znacznie bardziej spójnym i wydajnym sposobem programowania. –

0

Przeczytaj tę książkę, Learn to Program with C#.

Wykonaj małe projekty w WPF; najlepsza książka WPF to Windows Presentation Foundation Unleashed; spróbuj po przeczytaniu C#/książki do programowania początkowego.

C#, .NET Framework i WPF zostały stworzone, aby wyjść poza C Win32 API, aby ułatwić tworzenie aplikacji Windows.

Jeśli chcesz utworzyć standardową aplikację systemu Windows, postępuj zgodnie z tą ścieżką.

1

Chociaż nie powiem, że zmarnowałeś swój czas na uczenie się jakiegoś C, domyślam się, że to nie jest miejsce, w którym się kończysz.

Jeśli naprawdę chcesz, aby uzyskać toczenia, bez większych kłopotów, byłbym bardzo zaproponować:

To powinno Ci dać dokładnie to, czego chcesz. Będziesz miał wszystko, czego potrzebujesz, a Petzold zacznie cię bardzo prosto i przygotuje cię do robienia interesujących aplikacji, nie tracąc cię.

(Może zastanawiasz się, dlaczego ja i wiele innych osób przekierowuję Cię do C# lub innych języków po tym, jak wyraźnie powiedziałeś, że już przeczytałeś i dowiedziałeś się o C. Dzieje się tak, ponieważ programowanie w Windows przy użyciu starego API Win32 jest o wiele bardziej nużący, łatwo jest szybko zostać przytłoczonym przez samą ilość dodatkowych plew, które trzeba w to włożyć.)

+0

Dlaczego porównałeś aplikację Win32, która wyświetla pełny GUI i maluje "Hello World" na ekranie do aplikacji konsoli C#? To jak porównywanie jabłek i śmieci. Tak, aplikacja C# GUI jest nadal łatwiejsza niż aplikacja GUI Win32, więc nadal masz rację, jestem po prostu zakłopotany, dlaczego próbowałbyś to zrobić w ten sposób. –

+0

Porównujesz podstawowy program konsoli Hello world z aplikacją okna Win32. #include int main (void) { printf ("cześć świat"); return 0; } – toto

+0

Dwa programy nie są porównywalne. Wersja C powinna być jednokreskową rozmową do MessageBox(), jeśli zamierzasz używać MessageBox.Show() w języku C#. – ChrisV

1

W firmie Microsoft ciężko pracowaliśmy, aby wymyślić kilka świetnych zasobów do prostego tworzenia aplikacji dla systemu Windows. . Nasza strona, Start Programming with Windows 7, będzie zaopatrzona w mnóstwo nowych zasobów dla zaawansowanych i zaawansowanych programistów.

Istnieją dwa bardzo ważne seria nowa nauka, że ​​pracujemy na:

  • Hilo Projekt: Aplikacja zbudowana od podstaw, aby pokazać w jaki sposób można rozwijać programy, które są specjalnie taylored do Windows 7 funkcje wykorzystujące najnowocześniejsze metodyki programowania i projektowania aplikacji.
  • Moduł "Naucz się programować w systemie Windows": wprowadzenie do programowania systemu Windows napisane przez eksperta ds. Edukacji programistów w firmie Microsoft. Ten moduł brzmi bardziej jak to, czego szukasz, polecam to sprawdzić.

Pracujemy nad metodami uczenia się powierzchniowego, najlepiej jak potrafimy w Centrum programistów Windows - zbiór zasobów do nauki dla programistów dla osób, które dopiero zaczynają tworzyć system Windows lub zaczynają tworzyć nowe funkcje systemu Windows.

Dodatkowe wskazówki pochodzą z nowych zasobów Home i Hub dla aplikacji klienckich/stacjonarnych na stronie głównej MSDN.

Powiązane problemy