⑴ 我想學習上位機,但不知道該如何開始,需要學習什麼軟體,需要先了解哪些知識謝謝各位指點!
有三種主流上位機編寫軟體:C++ builder、Delphi、VC++;哪種好不好說,據說C++ builder好上手,VC++做出來的效果好;我選了VC++,我也是剛學,如果選VC++的話,推薦你看孫鑫VC++教學視頻,當然最好要有C++的基礎了
⑵ 求java從入門到精通的pdf啊。找了好久找不到完整版的。
⑶ java web 開發詳解孫鑫的(.doc)
CSDN上找找,應該有
這里有,但不全
http://book.csdn.net/bookfiles/56/index.html#c1
這個比較全
JAVAWEB開發詳解(孫鑫)電子版下載:
大小:318M
地址:ftp://125.64.92.37/book7/20070608/09e143d0-f4e1-459a-bee3-48332b8d2e97.rar
⑷ AUTOCAD教程(文字版)哪裡有下載
AutoCad軟體及教程網路網盤免費下載
鏈接:https://pan..com/s/1itxRmXAl2N5izKOgiD2XCA
AutoCAD軟體是由美國歐特克有限公司(Autodesk)出品的一款自動計算機輔助設計軟體,可以用於繪制二維制圖和基本三維設計,通過它無需懂得編程,即可自動制圖,因此它在全球廣泛使用,可以用於土木建築,裝飾裝潢,工業制圖,工程制圖,電子工業,服裝加工等多方面領域。鏈接包含各版本autocad軟體及相關基礎和進階視頻教程及資料,涉及家裝、建築、工程設計等方向。
⑸ JAVA編程
Java視頻教程 孫鑫Java無難事 (全12CD)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=154630
上海交大 Java初級編程基礎 共25講下載 avi格式
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=185162
張孝祥Java課堂系列之 Tomcat入門(七講 swf)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181503
張孝祥Java課堂系列之 Servlet開發入門 (九講 swf)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181502
張孝祥Java課堂系列之 HTTP協議詳解(四講 swf)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181500
張孝祥Java課堂系列之 Web XML基礎(四講 swf)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181499
J2EE視頻教程 中間件技術 浙江大學胡曉軍 全24講完整版下載
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181597
EJB技術及應用視頻教程 東北大學 全26講完整版 RMVB格式
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181583
J2EE開發IDE Eclipse視頻教程 全9CD 完整版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=158075
Java視頻教程 即學即會java
http://bbs.topsage.com/dispbbs_121_156264_6.html
Java 編程初步 傻瓜書
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=159167
零基礎學Java電子教程 附隨書光碟
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181032
數據結與演算法 Java語言版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=160250
精通JBuilder 2005 中文版 高清PDF+隨書光碟
http://bbs.topsage.com/dispbbs_121_172861_1.html
程序天下:J2EE整合詳解與典型案例 電子教程+隨書光碟
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181884
JSF JavaServer Faces in Action
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=160229
Spring in Action (第二版)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=146170
Manning jQuery in Action
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174769
Spring In Action
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174107
AspectJ in Action
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174106
Hibernate In Action
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174105
Struts in Action
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174005
Lucene in Action
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173991
Wrox出版 Beginning Spring Framework 2
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175714
Java Extreme Programming Cookbook
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174729
Java Programming Cookbook
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173667
Beginning Java Objects
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174685
Building Java Enterprise App
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174684
Ant: The Definitive Guide
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174683
Better Faster Lighter Java
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174681
Hibernate Reference 3.1
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174674
Pragmatic Version Control using CVS
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174479
Pragmatic Project Automation
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174476
jQuery Reference Guide
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174411
Java 2 核心技術 卷1&卷2 CHM版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174123
Wrox Professional Java JDK 6 Edition
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=163451
Java 2 寶典
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=159154
侯捷java編程思想 PDF中文版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=163902
Learning Java (第三版)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=146869
The Java Language Specification
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=176082
Beginning Java Programming for Dummies 第二版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=163923
Java 2 核心編程
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=146174
Java How to Program (第六版)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=146371
Java All-In-One案頭參考傻瓜書 (第二版)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=152871
21天自學 Java 6 (2007年5月更新出版) PDF
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=159315
Java咖啡館
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=151447
Thinking in Java(第四版)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=152053
深入學習JFC SWING - Java基礎類組件集
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=152049
J2EE全實例教程
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=158057
Java信息系統設計與開發實例(第二版)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=151993
Java優化編程
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=151994
Effective Java
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175258
Java信息系統設計與開發實例(第二版)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=151993
Tricks of the Java Programming
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=159305
Wrox Professional Java Native Interfaces with SWT JFace
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=159290
Java Swing 第二版 PDF文字版 O'Relliy出版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=159158
O'Reilly - Java Database Programming with JDBC
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=159292
JDBC與Java資料庫程序設計
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=151448
Learning JQurey (2007年7月最新出版)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=159652
J2EE with BEA WebLogic Server
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=176088
Pragmatic Unit Testing in Java with JUnit
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=176084
Wiley出版 J2EE 1.4 Bible
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=176080
J2EE設計開發編程指南
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=159288
Java Web Services簡明教程
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=159159
O'Reilly Java and XML (第二版PDF)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=146231
O'Reilly Java and XML (第三版PDF)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=167584
Java技術XML高級編程
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=147800
Java Reflection in Action [MANNING]
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=178017
Java Puzzler (Java 解惑)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=178016
Java Database Best Practices
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=178015
Struts: The Complete Reference
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=178025
Log4j The Complete Manual
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=178023
Programming for the Java Virtual Machine
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=178021
Expert One-on-One J2EE Design and Development
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=160652
Expert One-on-One J2EE Development without EJB
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=160653
JBoss - A Developer's Notebook
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=146179
The Java Programming Language (第四版)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=147095
Professional Java Development with the Spring Framework
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=159303
Core Java Server Faces 第二版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=145549
精通Enterprise JavaBeans
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=146018
Enterprise JavaBeans EJB 第四版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=159166
J2EE應用與BEA WebLogic Server (第二版PDF)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=146227
O'Reilly Java Web Services
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=146377
Ant權威指南
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=148383
Ajax和Java框架高級編程
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=148371
Java Web Services簡明教程
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=159159
Cross-Platform Web Services Using C# and Java
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=160472
O'Reilly Ajax on Java
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=160600
O'Reilly Java and XSLT
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=149585
O'Reilly Java and XML Binding
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=149583
O'Reilly Java and SOAP
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=149581
Design Patterns Java Companion
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=163920
J2EE Java黑客大曝光 開發安全的Java應用程序
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=151446
J2ME API 速查手冊
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=158248
精通J2ME無線編程
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=152047
J2ME開發大全
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=151987
Beginning J2ME 從入門到精通 第三版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=184149
Beginning JBoss Seam從入門到精通
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=183607
Beginning Hibernate 從入門到精通
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=183602
Java網頁開發的藝術
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=151991
Java編程高手
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=151990
Java 5.0 Tiger程序高手秘笈
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=151989
Java2網路協議技術內幕(附源碼)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=151988
Using Enterprise JavaBeans 2
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=166051
Java技術實用教程
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=158244
企業級Java安全性(構建安全的J2EE應用)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=152048
Java語言集成開發環境Eclipse中文教程
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=158237
NetBeans IDE 5.5 企業版高級開發教程
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=159653
Using Enterprise JavaBeans 2
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=166051
Borland JBuilder Developer's Guide
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=166294
Eclipse [O'Reilly]
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175257
Eclipse精要與高級開發技術
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=151986
Code Generation in Action
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174722
Java 6 3D游戲開發
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=160251
⑹ C++中,創建對象後用該對象調用了兩次同一個成員函數,最終結果顯示的是「12「,請問該成員函數該怎麼寫
Visual C++簡介??
雖然微軟公司推出了VisualC++.NET(Visual C++7.0),但它的應用的很大的局限性,只適用於Windows2000,Windows XP和Windows NT4.0。所以實際中,更多的是以Visual C++6.0為平台。 Visual C++6.0不僅是一個C++編譯器,而且是一個基於Windows操作系統的可視化集成開發環境(integrated development environment,IDE)。Visual C++6.0由許多組件組成,包括編輯器、調試器以及程序向導AppWizard、類向導Class Wizard等開發工具。這些組件通過一個名為Developer Studio的組件集成為和諧的開發環境。 ?
VISUAL C++的安裝?
作為visual studio的一個組件,可以通過安裝visual studio來獲得 VISUAL C++作為一個主流的開發平台一直深受編程愛好者的喜愛,但是很多人卻對它的入門感到難於上青天,究其原因主要是大家對他錯誤的認識造成的,嚴格的來說VISUAL C++不是門語言,雖然它和C++之間有密切的關系,如果形象點比喻的話,可以把C++看作為一種「工業標准」,而VISUAL C++則是某種操作系統平台下的「廠商標准」,而「廠商標准」是在遵循「工純並業標准」的前提下擴展而來的。 VISUAL C++應用程序的開發主要有兩種模式,一種是WIN API方式,另一種則是MFC方式,傳統的WIN API開發方式比較繁瑣,而MFC則是對WIN API再次封裝,所以MFC相對於WIN API開發更具備效率優勢,但為了對WINDOWS開發有一個較為全面細致的認識,筆者在這里還是以講解WIN API的巧行相關內容為主線。 話說到這里可能更多人關心的是學習VISUAL C++需要具備什麼條件,為什麼對於這扇門屢攻不破呢? 要想學習好VISUAL C++必須具備良好的C/C++的基礎,必要的英語閱讀能力做寬跡也是必不可少的,因為大量的技術文檔多以英文形式發布。 VISUAL C++基於C,C++語言,主要由是MFC組成,是與系統聯系非常緊密的編程工具,它兼有高級,和低級語言的雙重性,功能強大,靈活,執行效率高,幾乎可說VISUAL C++在 Windows平台無所不能。最大缺點是開發效率不高。
VISUAL C++適用范圍?
1、VISUAL C++主要是針對Windows系統,適合一些系統級的開發,可以方便實現一些底層的調用。在VISUAL C++里邊嵌入匯編語言很簡單。 2、VISUAL C++主要用在驅動程序開發 3、VISUAL C++執行效率高,當對系統性能要求很高的時候,可用VISUAL C++開發。 4、VISUAL C++主要適用於游戲開發 5、VISUAL C++多用於單片機,工業控制等軟體開發,如直接對I/O地址操作,就要用C++。 6、VISUAL C++適用開發高效,短小,輕量級的COM組件,DLL。比如WEB上的控制項。 7、VISUAL C++可以開發優秀的基於通信的程序。 8、VISUAL C++可以開發高效靈活的文件操作程序。 9、VISUAL C++可以開發靈活高效的資料庫操作程序。 10、VISUAL C++是編CAD軟體的唯一選擇!!!包括AUTOCAD,UG的二次開發。 11、VISUAL C++在多線程、網路通信、分布應用方面,VISUAL C++有不可比擬的優勢。
VISUAL C++技術介紹?
匈牙利命名法規則 一般情況下,變數的取名方式為: 范圍前綴_,類型前綴_,限定詞。 特殊的類型命名,前綴表示: 類、介面 前綴類型例子備注 Lm Class LmObject 表示類型本身不與范圍前綴結合使用 I Interface 介面 IUnknown 註:類名前綴改為Lm,對於非全局的類最好有語義表示其所屬模塊。類的實例命名與類名大致相同,只是類名語義表示類的通用含義,而類名表示此實例的具體語義。如類名LmSketPoint表示草圖點的類定義,而它的兩個實例 _StartPoint,_EndPoint分別代表起點和終點的語義。類的實例命名帶上前綴_。 特殊約定: a. MouseTool的派生類的前綴為_Mt. b.對話框類的前綴為CDlg. c.橡皮條類的前綴為_Rb. 范圍前綴: 前綴類型例子備注 g_ 全局作用域 g_Servers m_ 成員變數m_pDoc, l_ 局部作用域 l_strName 少用 註:編程時盡量少用全程變數,對於全程變數還應在類型前綴後加上如下關鍵字: 特徵模塊 : Fea 草圖模塊 : Sket 裝配模塊 : Asm 工程圖模塊: Lay 曲面模塊 : Surf 界面模塊 : Ui 常用的一般數據類型的前綴 前綴類型內存規格描述例子 ch char 8-bit character chGrade ch TCHAR 16-bit character if _UNICODE is defined chName b BOOL Boolean value bEnabled n int Integer (size dependent on operating system)nLength n UINT Unsigned value (size dependent on operatingsystem) nLength w WORD 16-bit unsigned value wPos l LONG 32-bit signed integer lOffset dw DWORD 32-bit unsigned integer dwRange p * Ambient memorymodel pointer pDoc lp FAR* Far pointer lpDoc lpsz LPSTR 32-bit pointer to character string lpszName lpsz LPCSTR 32-bit pointer to constant character stringlpszName lpsz LPCTSTR 32-bit pointer to constant character stringif _UNICODE is defined lpszName h handle Handle to Windows object hWnd lpfn (*fn)() callbackFar pointer to CALLBACK functionlpfnAbort 常用Windows對象名稱縮寫 Windows 對象例子變數 MFC類例子對象 HWND hWnd; CWnd* pWnd; HDLG hDlg; CDialog* pDlg; HDC hDC; CDC* pDC; HGDIOBJ hGdiObj; CGdiObject* pGdiObj; HPEN hPen; CPen* pPen; HBRUSH hBrush; CBrush* pBrush; HFONT hFont; CFont* pFont; HBITMAP hBitmap; CBitmap* pBitmap; HPALETTE hPalette; CPalette* pPalette; HRGN hRgn; CRgn* pRgn; HMENU hMenu; CMenu* pMenu; HWND hCtl; CStatic* pStatic; HWND hCtl; CButton* pBtn; HWND hCtl; CEdit* pEdit; HWND hCtl; CListBox* pListBox; HWND hCtl; CComboBox* pComboBox; Visual C++常用宏定義命名列表 前綴符號類型符號例子范圍 IDR_ 標識多個資源共享的類型 IDR_MAINFRAME 1to 0x6FFF IDD_ 對話框資源(Dialog)IDD_SPELL_CHECK 1 to 0x6FFF IDB_ 點陣圖資源(Bitmap)IDB_COMPANY_LOGO 1 to 0x6FFF IDC_ 游標資源(Cursor)IDC_PENCIL 1 to 0x6FFF IDI_ 圖標資源(Icon) IDI_NOTEPAD1 to 0x6FFF ID_IDM_ 工具欄或菜單欄的命令項 ID_TOOLS_SPELLING0x8000 to 0xDFFF HID_ 命令上下文幫助(Command Helpcontext) HID_TOOLS_SPELLING 0x18000 to 0x1DFFF IDP_ 消息框提示文字資源IDP_INVALID_PARTNO 8 to 0xDFFF HIDP_ 消息框上下文幫助(Message-box Helpcontext) HIDP_INVALID_PARTNO 0x30008 to 0x3DFFF IDS_ 字元串資源(String)IDS_COPYRIGHT 1 to 0x7FFF IDC_ 對話框內的控制資源(Control)IDC_RECALC 8 to 0xDFFF VISUAL C++ 下的數據類型 類型含義 ATOM Atom. For more information, see Atoms. BOOL Boolean variable (should be TRUE or FALSE). BOOLEAN Boolean variable (should be TRUE or FALSE). BYTE Byte (8 bits). CALLBACK Calling convention for callback functions. CHAR 8-bit Windows (ANSI) character. For moreinformation, see Character Sets Used By Fonts. COLORREF Red, green, blue (RGB) color value (32 bits).See COLORREF for information on this type. CONST Variable whose value is to remain constant ringexecution. DWORD 32-bit unsigned integer. DWORD_PTR Unsigned long type for pointer precision. Usewhen casting a pointer to a long type to perform pointer arithmetic. (Alsocommonly used for general 32-bit parameters that have been extended to 64 bitsin 64-bit Windows. ) DWORD32 32-bitunsigned integer. DWORD64 64-bit unsigned integer. FLOAT Floating-point variable. HACCEL Handle to an accelerator table. HANDLE Handle to an object. HBITMAP Handle to a bitmap. HBRUSH Handle to a brush. HCONV Handle to a dynamic data exchange (DDE)conversation. HCONVLIST Handle to a DDE conversation list. HCURSOR Handle to a cursor. HDC Handle to a device context (DC).
VISUAL C++常用技術術語解釋?
窗口? 窗口是windows應用程序的基本操作單元,用戶通過它與應用程序發生交互,例如輸入輸出操作等等,從程序的內部工作原來來看,每一個窗口對應一個消息處理隊列,應用程序主要通過窗口消息處理函數對用戶的輸入操作進行響應與處理。要想從程序員的角度充分理解窗口的含義,那麼對WNDCLASS這個數據結構進行充分的了解是必須的。
實例?
單個實例代表一個可執行程序在內存中的拷貝,如果一個應用程序執行許多次,那麼在內存中就有多少個拷貝,也就可以說明有多少個實例存在。
句柄?
句柄在windows環境下被定義成了一個無符號的整數,用於標識應用程序中不同的對象和同類對象中的不同實例。句柄可以看成是對象的編號,聯繫上面的實例,那麼一個實例句柄就可以看作是單個應用程序在內存中拷貝的唯一身份編號,通常系統只能通過實例句柄去識別不同的應用程序,或者是相同應用程序的不同副本。
資源?
Windows應用程序包含很多資源,例如,菜單,圖標,對話框等等,VISUAL C++環境下我們不僅僅可以使用系統下原有的資源,我們也可以定義自己的資源,這些資源被定義在.RC文件中,通過應用程序最後的編譯,這些資源文件和程序代碼連接在一起,形成一個可執行的.EXE文件或者是一個.DLL的庫文件。在使用這些資源的時候,通過WIN API函數學將這些資源調用使用。
窗口消息處理函數?
窗口是人機交互的介面,當窗口接受到輸入請求的時候,就會把這一請求交給某一個函數進行處理,而這個函數就是窗口消息處理函數,它能夠決定當一個消息被接受到的時候採取什麼行動。 消息通常是由一系列的輸入操作觸發的,比如當我按下滑鼠左鍵那麼窗口消息處理函數就會收到一個WM_LBUTTONDOWN的消息信號。在窗口消息處理函數中,我們可以利用switch和case結構進行控制, 針對此消息作出我們想要的操作。
圖形設備介面?
應用程序的任何輸出操作都需要通過圖形設備介面(GDI)中的函數來完成操作,GDI負責系統與用戶或繪圖程序之間的信息交換,並控制在輸出設備上顯示圖形或者文字,它將程序員與具體的硬體設備隔離開,讓程序員不需要考慮硬體設備操作的細節。
回調函數?
回調函數是windows操作系統自己調用的函數,用戶是不能直接調用他們的。回調函數的定義必須嚴格的按照windows標准進行編寫。
VISUAL C++中播放聲音的方法?
簡介?
聲音是多媒體的一個重要組成部分,在應用程序中加入聲音可以使界面更友好。在VISUAL C++中可以根據不同的應用要求,用不同的方法實現聲音的播放。
一.播放聲音文件的簡單方法?
在VISUAL C++ 中的多媒體動態連接庫中提供了一組與音頻設備有關的函數。利用這些函數可以方便地播放聲音。最簡單的播放聲音方法就是直接調用VISUAL C++中提供的聲音播放函數BOOL sndPlaySound( LPCSTR lpszSound,UINT fuSound ); 或BOOL PlaySound(LPCSTR lpszSound, HMODULE hmod, DWORD fuSound );其中參數lpszSound是需要播放聲音的.WAV文件的路徑和文件名, hmod在這里為NULL,fuSound是播放聲音的標志,詳細說明請參考VISUAL C++中的幫助。例如播放C:soundmusic.wav可以用sndPlaySound ("c:\sound\music.wav",SND_ASYNC);或PlaySound("c:\sound\music.wav",NULL, SND_ASYNC|SND_NODEFAULT );如果沒有找到music.wav文件,第一種格式將播放系統默認的聲音,第二種格式不會播放系統默認的聲音。
?
二.將聲音文件加入到程序中?
在VISUAL C++的程序設計中,可以利用各種標準的資源,如點陣圖,菜單,對話框等。同時VISUAL C++也允許用戶自定義資源,因此我們可以將聲音文件作為用戶自定義資源加入程序資源文件中,經過編譯連接生成EXE文件,實現無.WAV文件的聲音播放。 要實現作為資源的聲音文件的播放,首先要在資源管理器中加入待播放的聲音文件(實現過程並不復雜,這里不在敘述)。假設生成的聲音文件資源標識符為IDR_WAVE1。在播放時只需要調用下面的語句: PlaySound(MAKEINTRESOURCE(IDR_WAVE1),AfxGetResourceHandle(), SND_ASYNC|SND_RESOURCE|SND_NODEFAULT|SND_LOOP); 其中MAKEINTRESOURCE()宏將整數資源標識符轉變為字元串,AfxGetResourceHandle()函數返回包含資源的模塊句柄, SND_RESOURCE是必須的標志。 作為資源的聲音文件的第二種播放方法是把資源讀入內存後作為內存數據播放。具體步驟入下: 1.獲得包含資源的模塊句柄: HMODULE hmod=AfxGetResourceHandle(); 2.檢索資源塊信息: HRSRChSndResource=FindResource(hmod,MAKEINTRESOURCE(IDR_WAVE1),_T("WAVE")); 3. 裝載資源數據並加鎖: HGLOBAL hGlobalMem=LoadResource(hmod,hSndResource); LPCTSTRlpMemSound=(LPCSTR)LockResource(hGlobalMem); 4.播放聲音文件: sndPlaySound(lpMemSound,SND_MEMORY)); 5.釋放資源句柄: FreeResource(hGlobalMem);
三.播放聲音文件的高級方法
在VISUAL C++中提供了一組對音頻設備及多媒體文件直接進行操作的函數。利用這些函數可以靈活地對聲音文件進行各種處理。 首先介紹幾個要用到的數據結構。WAVEFORMATEX結構定義了WAVE音頻數據文件的格式。WAVEHDR結構定義了波形音頻緩沖區。讀出的數據首先要填充此緩沖區才能送音頻設備播放。WAVEOUTCAPS結構描述了音頻設備的性能。MMCKINFO結構包含了RIFF文件中一個塊的信息。詳細的說明請參考VISUAL C++中的幫助。 下面給出程序流程簡圖及程序源代碼清單,在VISUAL C++環境下可直接使用: 源程序清單如下: LPSTR szFileName;//聲音文件名 MMCKINFO mmckinfoParent; MMCKINFO mmckinfoSubChunk; DWORD dwFmtSize; HMMIO m_hmmio;//音頻文件句柄 DWORD m_WaveLong; HPSTR lpData;//音頻數據 HANDLE m_hData; HANDLE m_hFormat; WAVEFORMATEX * lpFormat; DWORD m_dwDataOffset; DWORD m_dwDataSize; WAVEHDR pWaveOutHdr; WAVEOUTCAPS pwoc; HWAVEOUT hWaveOut; //打開波形文件 if(!(m_hmmio=mmioOpen(szFileName,NULL,MMIO_READ|MMIO_ALLOCBUF))) { //File open Error Error("Failed to open the file.");//錯誤處理函數 return false; } //檢查打開文件是否是聲音文件 mmckinfoParent.fccType=mmioFOURCC(』W』,』A』,』V』,』E』); if(mmioDescend(m_hmmio,(LPMMCKINFO)&mmckinfoParent,NULL,MMIO_FINDRIFF)) { //NOT WAVE FILE AND QUIT } //尋找 』fmt』 塊 mmckinfoSubChunk.ckid =mmioFOURCC(』f』,』m』,』t』,』 』); if(mmioDescend(m_hmmio,&mmckinfoSubChunk,&mmckinfoParent,MMIO_FINDCHUNK)) { //Can』t find 』fmt』 chunk } //獲得 』fmt 』塊的大小,申請內存 dwFmtSize=mmckinfoSubChunk.cksize ; m_hFormat=LocalAlloc(LMEM_MOVEABLE,LOWORD(dwFmtSize)); if(!m_hFormat) { //failed alloc memory } lpFormat=(WAVEFORMATEX*)LocalLock(m_hFormat); if(!lpFormat) { //failed to lock the memory } if((unsignedlong)mmioRead(m_hmmio,(HPSTR)lpFormat,dwFmtSize)!=dwFmtSize) { //failed to read format chunk } //離開 fmt 塊 mmioAscend(m_hmmio,&mmckinfoSubChunk,0); //尋找 』data』 塊 mmckinfoSubChunk.ckid=mmioFOURCC(』d』,』a』,』t』,』a』); if(mmioDescend(m_hmmio,&mmckinfoSubChunk,&mmckinfoParent,MMIO_FINDCHUNK)) { //Can』t find』data』 chunk } //獲得 』data』塊的大小 m_dwDataSize=mmckinfoSubChunk.cksize ; m_dwDataOffset =mmckinfoSubChunk.dwDataOffset ; if(m_dwDataSize==0L) { //no data in the 』data』 chunk } //為音頻數據分配內存 lpData=new char[m_dwDataSize]; if(!lpData) { //faile } if(mmioSeek(m_hmmio,SoundOffset,SEEK_SET)<0) { //Failed to read the data chunk } m_WaveLong=mmioRead(m_hmmio,lpData,SoundLong); if(m_WaveLong<0) { //Failed to read the data chunk } //檢查音頻設備,返迴音頻輸出設備的性能 if(waveOutGetDeVISUAL C++aps(WAVE_MAPPER,&pwoc,sizeof(WAVEOUTCAPS))!=0) { //Unable to allocate or lock memory } //檢查音頻輸出設備是否能播放指定的音頻文件 if(waveOutOpen(&hWaveOut,DevsNum,lpFormat,NULL,NULL,CALLBACK_NULL)!=0) { //Failed to OPEN the wave out devices } //准備待播放的數據 pWaveOutHdr.lpData =(HPSTR)lpData; pWaveOutHdr.dwBufferLength =m_WaveLong; pWaveOutHdr.dwFlags =0; if(waveOutPrepareHeader(hWaveOut,&pWaveOutHdr,sizeof(WAVEHDR))!=0) { //Failed to prepare the wave data buffer } //播放音頻數據文件 if(waveOutWrite(hWaveOut,&pWaveOutHdr,sizeof(WAVEHDR))!=0) { //Failed to write the wave data buffer } //關閉音頻輸出設備,釋放內存 waveOutReset(hWaveOut); waveOutClose(hWaveOut); LocalUnlock(m_hFormat); LocalFree(m_hFormat); delete [] lpData; 說明:1)以上使用的音頻設備和聲音文件操作函數的聲明包含在mmsystem.h頭文件中,因此在程序中必須用#include "mmsystem.h"語句加入頭文件。同時在編譯時要加入動態連接導入庫winmm.lib,具體實現方法是從Developer Studio的Project菜單中選擇Settings,然後在Link選項卡上的Object/Library Moles控制中加入winmm.lib。2)在pWaveOutHdr.lpData中指定不同的數據,可以播放音頻數據文件中任意指定位置的聲音。3) 以上程序均在VISUAL C++6.0中調試通過,在文中省略了對錯誤及異常情況的處理,在實際應用中必須加入。 ??
四.結論
在VISUAL C++中可以根據應用需要採用不同的方法播放聲音文件。簡單應用可以直接調用聲音播放函數。第二種方法可以把聲音作為資源加入可執行文件中。如果在播放之前要對聲音數據進行處理,可用第三種方法。
五.Visual C++.NET
隨著NET的時代來臨,VISUAL C++也如同VB一樣,脫胎換骨到VISUAL C++.NET
相關資料?
資料1?
Visual C++ 6.0 簡體中文企業版集成SP6完美版 Visual C++ 6.0 英文企業版集成SP6完美版 Visual Studio 6.0 英文企業版集成SP6完美版 錢能 c++程序設計教程第二版高清PDF版 Essential C++ 中文版+英文版 侯捷譯 編程點金之Visual C++(電子教程) iso C++程序調試實用手冊 PDF版下載 C++面向對象多線程編程 PDF版下載
資料2?
C++高級編程參考手冊 C和C++代碼精粹 C++沉思錄 C++ Primer 第三版 C++ Primer 第四版中文版高清晰 高質量C++編程指南 C++ 編程思想第1卷標准C++導引 C++ 編程思想第2卷實用編程技術 More Effective C++ 簡體中文版
資料3?
C++ Templates 中文版+英文版 C++ Coding Standards[Addison Wesley] Absolute C++ 全彩頁代碼剖析 Accelerated C++ - Practical Programming by Example Inside the C++ Object Model More Exceptional C++ [Addison Wesley] Exceptional C++ [Addison Wesley] Sams出版 C++ Unleashed C++ GUI Programming with QT4
資料4?
VISUAL C++深入詳解 孫鑫作品系列高清PDF版下載 Visual C++ 6傻瓜書快速參考 Visual C++ 6.0 編程實例與技巧(PDF中文版) Visual C++ 21天自學教程 跟我學Visual C++ 6 Visual C++ 6 資料庫編程 21天自學教程 CHM The C++ Programming Language 第三版 深度探索C++對象模型 Special Edition Using Visual C++ 6 Professional MFC with VISUAL C++ 6
資料5?
Practical C++ Programming Cross-Platform Development in C++ Iterative UML Development Using VISUAL C++ 6 Ace Programmer's Guide Visual C++高級界面特效製作百例 精通GDI+編程 清華大學出版 Borland C++ Builder 6 開發指南 CHM 孫鑫C++視頻教程 rmvb格式全20CD完整版 C++視頻教程邊用邊學Visual C++ 6 (ASF格式) 中山大學蔡培興 C++語言視頻教程全51講精品推薦 C++程序設計視頻教程 東南大學何潔月主講全80講(上) 48講 C++程序設計視頻教程東南大學何潔月主講全80講(下) 32講詞條圖冊更多圖冊