visual c++. gotowe rozwiązania dla programistów windows full scan, ebooki
[ Pobierz całość w formacie PDF ]
4
Visual C++. Gotowe rozwiązania dla programistów Windows
Sprawdzenie priorytetu bieżącej aplikacji ................................................................ 65
Zmiana priorytetu innej aplikacji ............................................................................. 66
Zamykanie innej aplikacji ........................................................................................ 67
Uruchamianie aplikacji za pomocą funkcji CreateProcess ....................................... 68
Wykrywanie zakończenia działania uruchomionej aplikacji .................................... 73
Kontrolowanie ilości instancji aplikacji ................................................................... 74
Uruchamianie aplikacji w Windows Vista ...................................................................... 75
Uruchamianie procesu jako administrator ................................................................ 76
Program z tarczą ....................................................................................................... 78
Kontrolowanie własności okien ...................................................................................... 79
Lista okien ................................................................................................................ 79
Okno tylko na wierzchu ........................................................................................... 83
Ukrywanie okna aplikacji ......................................................................................... 83
Mrugnij do mnie! ..................................................................................................... 84
Sygnał dźwiękowy ................................................................................................... 84
Numery identyfikacyjne procesu i uchwyt okna ............................................................. 85
Jak zdobyć identyfikator procesu, znając uchwyt okna? .......................................... 85
Jak zdobyć uchwyt głównego okna, znając identyfikator procesu? .......................... 86
Kontrolowanie okna innej aplikacji .......................................................................... 90
Kontrolowanie grupy okien ...................................................................................... 94
Okna o dowolnym kształcie ............................................................................................ 98
Okno w kształcie elipsy ............................................................................................ 99
Łączenie obszarów. Dodanie ikon z paska tytułu ..................................................... 99
Okno z wizjerem .................................................................................................... 101
Aby przenosić okno, chwytając za dowolny punkt ................................................ 102
Rozdział 4. Systemy plików, multimedia i inne funkcje WinAPI ........................ 105
Pliki i system plików (funkcje powłoki) ....................................................................... 105
Odczytywanie ścieżek do katalogów specjalnych .................................................. 106
Tworzenie skrótu (.lnk) .......................................................................................... 107
Odczyt i edycja skrótu .lnk ..................................................................................... 110
Umieszczenie skrótu na pulpicie ............................................................................ 112
Operacje na plikach i katalogach (funkcje WinAPI) .............................................. 113
Operacje na plikach i katalogach (funkcje powłoki) .............................................. 114
Operacje na plikach i katalogach w Windows Vista (interfejs IFileOperation) ...... 116
Jak usunąć plik, umieszczając go w koszu? ........................................................... 118
Operacje na całym katalogu ................................................................................... 119
Odczytywanie wersji pliku .exe i .dll ..................................................................... 120
Jak dodać nazwę dokumentu do listy ostatnio
otwartych dokumentów w menu Start? ............................................................. 124
Odczytywanie informacji o dysku ................................................................................ 125
Odczytywanie danych ............................................................................................ 125
Testy ....................................................................................................................... 129
Kontrolka MFC ...................................................................................................... 131
Ikona w obszarze powiadamiania (zasobniku) ............................................................. 137
Funkcja Shell_NotifyIcon ...................................................................................... 137
Menu kontekstowe ikony ....................................................................................... 138
„Dymek” ................................................................................................................ 140
Multimedia (CD-Audio, MCI) ...................................................................................... 141
Aby wysunąć lub wsunąć tackę w napędzie CD lub DVD ..................................... 141
Wykrywanie wysunięcia płyty z napędu lub umieszczenia jej
w napędzie CD lub DVD ..................................................................................... 143
Sprawdzanie stanu wybranego napędu CD-Audio ................................................. 143
Jak zbadać, czy w napędzie jest płyta CD-Audio ................................................... 144
Kontrola napędu CD-Audio ................................................................................... 145
Spis treści
5
Multimedia (pliki dźwiękowe WAVE) ......................................................................... 147
Asynchroniczne odtwarzanie pliku dźwiękowego .................................................. 147
Jak wykryć obecność karty dźwiękowej ................................................................. 147
Kontrola poziomu głośności odtwarzania plików dźwiękowych ............................ 148
Kontrola poziomu głośności CD-Audio ................................................................. 150
Inne ............................................................................................................................... 150
Pisanie i malowanie na pulpicie ............................................................................. 150
Czy Windows mówi po polsku? ............................................................................. 153
Jak zablokować uruchamiany automatycznie wygaszacz ekranu? ......................... 153
Zmiana tła pulpitu .................................................................................................. 154
Rozdział 5. Rejestr systemu Windows ............................................................ 155
Rejestr ........................................................................................................................... 155
Klasa obsługująca operacje na rejestrze ................................................................. 156
Przechowywanie położenia i rozmiaru okna .......................................................... 162
Automatyczne uruchamianie aplikacji po zalogowaniu się użytkownika ............... 165
Umieszczanie informacji o zainstalowanym programie
(aplet Dodaj/Usuń programy) .............................................................................. 169
Gdzie jest katalog z moimi dokumentami? ............................................................ 176
Dodawanie pozycji do menu kontekstowego związanego
z zarejestrowanym typem pliku ........................................................................... 176
Obsługa rejestru i plików INI za pomocą MFC ............................................................ 180
Przechowywanie położenia i rozmiaru okna w rejestrze (MFC) ............................ 180
Przechowywanie położenia i rozmiaru okna w pliku INI (MFC) ........................... 182
Skrót internetowy (.url) .......................................................................................... 183
Rozdział 6. Komunikaty Windows ................................................................... 185
Pętla główna aplikacji ................................................................................................... 185
Obsługa komunikatów w procedurze okna (MFC) ....................................................... 187
Reakcja okna lub kontrolki na konkretny typ komunikatu ..................................... 187
Lista komunikatów odbieranych przez okno .......................................................... 188
Filtrowanie zdarzeń ................................................................................................ 191
Przykład odczytywania informacji dostarczanych przez komunikat ...................... 191
Lista wszystkich komunikatów odbieranych przez okno i jego kontrolki .............. 193
Wykrycie zmiany trybu pracy karty graficznej ...................................................... 193
Wysyłanie komunikatów .............................................................................................. 196
Wysyłanie komunikatów. „Symulowanie” zdarzeń ............................................... 196
Wysłanie komunikatu uruchamiającego wygaszacz ekranu
i detekcja włączenia wygaszacza ......................................................................... 197
Wykorzystanie komunikatów do kontroli innej aplikacji na przykładzie Winampa ..... 197
Przykłady reakcji na komunikaty (MFC) ..................................................................... 198
Blokowanie zamknięcia sesji Windows ................................................................. 198
Wykrycie włożenia do napędu lub wysunięcia z niego płyty CD lub DVD;
wykrycie podłączenia do gniazda USB lub odłączenia pamięci Flash ................. 199
Przeciąganie plików między aplikacjami ............................................................... 201
Poprawny sposób blokowania zamykania okna dialogowego
po naciśnięciu klawisza Enter .............................................................................. 204
Zmiana aktywnego komponentu za pomocą klawisza Enter .................................. 205
XKill dla Windows ................................................................................................. 206
Modyfikowanie menu systemowego formy ........................................................... 208
Haki .............................................................................................................................. 210
Biblioteka DLL z procedurą haka .......................................................................... 211
Rejestrowanie klawiszy naciskanych na klawiaturze ............................................. 216
6
Visual C++. Gotowe rozwiązania dla programistów Windows
Rozdział 7. Biblioteki DLL .............................................................................. 217
Funkcje i klasy w bibliotece DLL ................................................................................. 218
Tworzenie regularnej biblioteki DLL — eksport funkcji ....................................... 218
Statyczne łączenie bibliotek DLL — import funkcji .............................................. 220
Dynamiczne ładowanie bibliotek DLL — import funkcji ...................................... 222
Tworzenie biblioteki DLL z rozszerzeniem MFC — eksport funkcji .................... 224
Tworzenie biblioteki DLL z rozszerzeniem MFC — eksport klasy ....................... 224
Statyczne łączenie biblioteki DLL — import klasy ................................................ 226
Tworzenie biblioteki DLL z rozszerzeniem MFC
— eksport klasy. Modyfikacja dla dynamicznie ładowanych bibliotek ............... 227
Dynamiczne łączenie bibliotek DLL — import klasy ............................................ 228
Powiadamianie biblioteki o jej załadowaniu lub usunięciu z pamięci .................... 230
Zasoby w bibliotece DLL ............................................................................................. 232
Łańcuchy w bibliotece DLL ................................................................................... 232
Bitmapa w bibliotece DLL ..................................................................................... 234
Okno dialogowe w bibliotece DLL ........................................................................ 237
Tworzenie apletu panelu sterowania wyświetlającego informacje o dyskach .............. 240
Rozdział 8. Automatyzacja i inne technologie bazujące na COM ...................... 249
Technologia COM ........................................................................................................ 249
Osadzanie obiektów OLE2 ........................................................................................... 250
Statyczne osadzanie obiektu ................................................................................... 251
Kończenie edycji dokumentu. Łączenie menu aplikacji klienckiej i serwera OLE ....... 252
Wykrywanie niezakończonej edycji podczas zamykania programu ....................... 254
Inicjowanie edycji osadzonego obiektu z poziomu kodu ................................... 255
Dynamiczne osadzanie obiektu .............................................................................. 256
Automatyzacja .............................................................................................................. 258
Typ VARIANT i klasa COleVariant ...................................................................... 258
Łączenie z serwerem automatyzacji aplikacji Excel .............................................. 259
Uruchamianie aplikacji Excel za pośrednictwem mechanizmu automatyzacji ....... 265
Uruchamianie procedur serwera automatyzacji ...................................................... 266
Eksplorowanie danych w arkuszu kalkulacyjnym .................................................. 266
Korzystanie z okien dialogowych serwera automatyzacji.
Zapisywanie danych w pliku ................................................................................ 268
Zapisywanie danych z wykorzystaniem okna dialogowego aplikacji klienckiej .... 268
Edycja danych w komórkach Excela ...................................................................... 269
Korzystanie z funkcji matematycznych i statystycznych Excela ............................ 271
Konwersja skoroszytu Excela do pliku HTML ...................................................... 273
Uruchamianie aplikacji Microsoft Word i tworzenie nowego dokumentu
lub otwieranie istniejącego .................................................................................. 276
Wywoływanie funkcji Worda na przykładzie sprawdzania pisowni
i drukowania ........................................................................................................ 278
Wstawianie tekstu do bieżącego dokumentu Worda .............................................. 278
Zapisywanie bieżącego dokumentu Worda ............................................................ 279
Zaznaczanie i kopiowanie całego tekstu dokumentu Worda do schowka .............. 280
Kopiowanie zawartości dokumentu Worda do komponentu CRichEditCtrl
bez użycia schowka (z pominięciem formatowania tekstu) ................................. 280
Formatowanie zaznaczonego fragmentu tekstu w dokumencie Worda .................. 281
Serwer automatyzacji OLE przeglądarki Internet Explorer .................................... 282
Własny serwer automatyzacji ....................................................................................... 284
Projektowanie serwera automatyzacji .................................................................... 284
Testowanie serwera automatyzacji ......................................................................... 287
ActiveX ........................................................................................................................ 289
Korzystanie z kontrolek ActiveX ........................................................................... 289
Spis treści
7
Rozdział 9. Sieci komputerowe ....................................................................... 293
Struktura sieci komputerowych .................................................................................... 293
Lista połączeń sieciowych i diagnoza sieci ................................................................... 296
Aktywne połączenia TCP ....................................................................................... 296
Aktywne gniazda UDP ........................................................................................... 299
Sprawdzanie konfiguracji interfejsów sieciowych ................................................. 300
Ping ........................................................................................................................ 302
Sprawdzanie adresu IP hosta (funkcja DnsQuery) ................................................. 305
Sprawdzanie adresu IP i nazwy hosta (funkcje gethostbyaddr i gethostbyname) ... 307
Odczytywanie adresów MAC z tablicy ARP ......................................................... 311
Tablica ARP — wiązanie wpisów z interfejsem .................................................... 314
Protokoły TCP i UDP ................................................................................................... 316
Tworzenie i zamykanie gniazda — klasa bazowa .................................................. 316
Klasa implementująca serwer TCP ......................................................................... 317
Klasa implementująca serwer UDP ........................................................................ 319
Aplikacja działająca jako serwer TCP i UDP ......................................................... 320
Klasa implementująca klienta TCP ........................................................................ 322
Klasa implementująca klienta UDP ........................................................................ 324
Aplikacja działająca jako klient TCP i UDP .......................................................... 325
Serwer TCP działający asynchronicznie (funkcja WSAAsyncSelect) .................... 327
Serwer TCP — użycie klasy CSocket .................................................................... 330
Klient TCP — użycie klasy CSocket ..................................................................... 334
Inne protokoły sieciowe ................................................................................................ 336
Protokół FTP (przesyłanie plików) ......................................................................... 336
Protokół SMTP (poczta elektroniczna) .................................................................. 343
Inne ............................................................................................................................... 350
Aby pobrać plik z Internetu .................................................................................... 350
Mapowanie dysków sieciowych ............................................................................. 350
Rozdział 10. Wątki .......................................................................................... 353
Tworzenie wątków ....................................................................................................... 353
Tworzenie wątku .................................................................................................... 354
Tworzenie wątku roboczego za pomocą MFC ....................................................... 355
Usypianie wątków (funkcja Sleep) ......................................................................... 357
Czas wykonywania wątków ................................................................................... 359
Wstrzymywanie i wznawianie wątków .................................................................. 361
Kończenie wątku .......................................................................................................... 362
Funkcja TerminateThread ...................................................................................... 362
Funkcja ExitThread ................................................................................................ 362
Funkcje TerminateProcess i ExitProcess ................................................................ 363
Priorytety wątków ........................................................................................................ 364
Priorytety procesu .................................................................................................. 365
Statyczna kontrola priorytetów wątków ................................................................. 369
Dynamiczna kontrola priorytetów wątków ............................................................. 370
Flaga CREATE_SUSPENDED .............................................................................. 371
Wątek działający z ukrycia ..................................................................................... 373
Programowanie koligacji .............................................................................................. 374
Informacja o liczbie procesorów (funkcja GetSystemInfo) .................................... 374
Przypisywanie procesu do procesora ...................................................................... 375
Odczytywanie maski koligacji procesu .................................................................. 377
Programowanie koligacji wątku ............................................................................. 378
Wątki interfejsu użytkownika ....................................................................................... 380
Tworzenie wątku UI ............................................................................................... 380
Wykonywanie zadań w tle ..................................................................................... 383
Uwolnienie głównego okna aplikacji ..................................................................... 385
[ Pobierz całość w formacie PDF ]