㈠ 網路掉線的問題
這些人不看情況就亂發表。
把你的系統進程發出來,要剛開機時候的進程。
通過它可以看是不是因為PSP的某些程序自動運行導致區域網限製造成吊線和是否有病毒存在。
而且是不是有規律的在運行哪個程序的時候掉線的?
㈡ 各種媒體數據以 base64 編碼方式直接嵌入網頁中的寫法
png 圖片:
<img src="data:image/png;base64,///+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D//A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC"/>
wav 文件:
<audio controls="controls" autobuffer="autobuffer" autoplay="autoplay">
<source src="data:audio/wav;base64,++/+PTxAPzo/J0b3F3eHyBfX+/HQy8rMysfGxMLBvLu3ta+sraeioJ2YlI++us7axrbK2tLa6ury7u7u9u7vCwb+/vr7Ev7y9v8G8vby6vru4uLq+/enq62srbCysrO1uLy4uL+/vL7CwMHAvb/Cvbq9vLm5uba2t7Sysq+urqyqqaalpqShoJ+9fX59fn1++fXx+f319fn19fn1+gH9+f4B/fn+AgICAgH+AgICAgIGAgICAgH9+f4B+f35+e3t8e3x+f3+++dnJqZmJeWlJKSkI+OjoyLioiIh4WEg4GBgH9+N0dXV2d3d4eHh5ent6e3x9fn5/oaCfoJ++OjYyLioqJh4eGhYSEgoKBgIB/+++Qj5CPkI+Pjo+YCBgICAgICAf4CAf39+f35/fn1++fX5/fn9+f4B/gH++Af39+e3x8fHx9fH1+fX59fn9+f35/gH+ICAf4B/f4B/gH+Af35/fn9+f35/fn1+fn19fn1++fX59fn9+f35+f35/gH+Af4B/5kIEZvcmdlIDguMAAA" />
</audio>
或:
<audio src="data:audio/x-wav;base64,///kAFgARAAwABwADAP//+//3//L/7f/o/+P/3//b/9f/0//P/8z/yf/G/8P/wP+9/5r/ev9b/0L/Lf8a/wr///71/uz+6f7l/uT+5P7l/un+7/71/v3+Bv8O/xj/JP8z/z//Tf9b/2j/df+E/5D/nf+q/7j/xf/U/+L/8f/+/vAboBxQHQAdoB4wHqAfMB+QH/DPALUAmAB7AF4AQAAhAP7/2/+4/5X/c/9R/y//D//u/s3+rf6N/m/+U/41/hz+A/7s/df9xP2y/aP9lv2M/Yb9gf1F/RL95vzC/KP8iPx0/GX8XPxY/Fj8YPxr/Hr8ivyd/LP8y/zl/AP9If1A/WX9i/20/d39Bv4x/lv+iP62/uj+Gf9J/3v/rf/i/QPEA5QDYAMsA//ov9Y/w3/wf54/iz+4v2Z/VH9DP3G/IL8QvwE/Mr7k/te+y77Afvb+rb6lvp++mv6/fmc+Uz5BPnL+Jv4dfhX+ET4Ovg0+Db4OvhE+FP4a/iG+Kb4yfjz+CL5V/mR+dL5G/pq+rz6E/tv+877L/yS/Pv8ZP3R/UH+tf4j/5T//B8MHgQc6B+/dv8E/5D+Gv6i/Sj9rvw1/Lr7P/vF+kv60flZ+eP4c/gH+J/3P//KU8m3yTvI48ijyJ//48vio+WP6J/vu+7j8hv1X/in//f/++//0v/pP75/U79o/z0+0D7jfrT+Rv5Yvil9+32OfaM9eP0R/S58z3z9/+dZ5+zmm+Zo5lDmZ+aa5v/mgOcf6ODoy+nc6g/sZu3V7mTw//Gq81f1EffR+Iz6N/zd/XX//++hSzFHUULhTnE6MTYxMqE+wSuRJ7EkISBBK/9A/kr9RPxC+g1PPTR9So1LjV0taj2E3auNwG3+LhweTU59rqCu418Sz0dvcZ+gf9gv///vf8OPvB+Ur4nPYv9Qf0nvHI8B3uVOx46lvn/OQ14krfvtud2OnT89GtzS7L+/87X0mLWWtv03uXj++ch7IfwdfQy+Fv75//q39bvto+5b5Lflh9yf3F/WY8/+1SbhvuSbAqsFuyP/M59Cg1iLbdd8o44bnQums7J3ug/Bk8vHzIfX69qn42Pny///5r+DP4V/i//VAG/AwQHKQuhD58U9RkRH+AjhCj5LNUwTzT1Nhg5pjp+EY/X758fS98hLuYO+L6SvsnOlo6jXq/+jJ6CrnDOVN48//YS9+A4SHoAelq7NDt+O2f8Avw3vH38nb0P/eR++Aj3IvU69cn2+vgV/XMBVgYNDI0R1xauG1wglST7J/gqtyyxLcAuxC/+/Kz59Pc+9Zj2XfZh90D59Phw+c/6m/mc++8nMEoxoXMws4Z0e/VrtRc1X7U9tCY0/rRYtRD1RTYVNwU49Hp1vFL+dEB5QiTEbcV7BeQG/gasxoxGEITjQ0mCK8Dx/5M+mD3ufR+9Lz0iPVI92P5L//ZEqEWuhuCIrkpBDHhNwM+//HzHfBk8hvyr/Zc+RH9FP9nBUEEFwN/BIn3s/+5DcWExTvOEtDwz+/hdMGwoctBjxE9UN6QajATn/H/r89/P1pvaP+JL5bf1R//DZEXyyE5K+Ez3zlePZY/TEBOQNw++wbxB/cJag2dDc4OpQ26DacIdgalA9X+1//q/of9BP7AAdwBmw0TCnALrgXj+GjzQ+SG2WnIAsBQr5moL566l/WX6KDTqCKy+bz2u//FYcdTyzXMVMsszGbKQck=" autoplay />
更多格式:
123 application/vnd.lotus-1-2-3
3gp video/3gpp
aab application/x-authoware-bin
aam application/x-authoware-map
aas application/x-authoware-seg
ai application/postscript
aif audio/x-aiff
aifc audio/x-aiff
aiff audio/x-aiff
als audio/X-Alpha5
amc application/x-mpeg
ani application/octet-stream
asc text/plain
asd application/astound
asf video/x-ms-asf
asn application/astound
asp application/x-asap
asx video/x-ms-asf
au audio/basic
avb application/octet-stream
avi video/x-msvideo
awb audio/amr-wb
bcpio application/x-bcpio
bin application/octet-stream
bld application/bld
bld2 application/bld2
bmp application/x-MS-bmp
bpk application/octet-stream
bz2 application/x-bzip2
cal image/x-cals
ccn application/x-cnc
cco application/x-cocoa
cdf application/x-netcdf
cgi magnus-internal/cgi
chat application/x-chat
class application/octet-stream
clp application/x-msclip
cmx application/x-cmx
co application/x-cult3d-object
cod image/cis-cod
cpio application/x-cpio
cpt application/mac-compactpro
crd application/x-mscardfile
csh application/x-csh
csm chemical/x-csml
csml chemical/x-csml
css text/css
cur application/octet-stream
dcm x-lml/x-evm
dcr application/x-director
dcx image/x-dcx
dhtml text/html
dir application/x-director
dll application/octet-stream
dmg application/octet-stream
dms application/octet-stream
doc application/msword
dot application/x-dot
dvi application/x-dvi
dwf drawing/x-dwf
dwg application/x-autocad
dxf application/x-autocad
dxr application/x-director
ebk application/x-expandedbook
emb chemical/x-embl-dl-nucleotide
embl chemical/x-embl-dl-nucleotide
eps application/postscript
eri image/x-eri
es audio/echospeech
esl audio/echospeech
etc application/x-earthtime
etx text/x-setext
evm x-lml/x-evm
evy application/x-envoy
exe application/octet-stream
fh4 image/x-freehand
fh5 image/x-freehand
fhc image/x-freehand
fif image/fif
fm application/x-maker
fpx image/x-fpx
fvi video/isivideo
gau chemical/x-gaussian-input
gca application/x-gca-compressed
gdb x-lml/x-gdb
gif image/gif
gps application/x-gps
gtar application/x-gtar
gz application/x-gzip
hdf application/x-hdf
hdm text/x-hdml
hdml text/x-hdml
hlp application/winhlp
hqx application/mac-binhex40
htm text/html
html text/html
hts text/html
ice x-conference/x-cooltalk
ico application/octet-stream
ief image/ief
ifm image/gif
ifs image/ifs
imy audio/melody
ins application/x-NET-Install
ips application/x-ipscript
ipx application/x-ipix
it audio/x-mod
itz audio/x-mod
ivr i-world/i-vrml
j2k image/j2k
jad text/vnd.sun.j2me.app-descriptor
jam application/x-jam
jar application/java-archive
jnlp application/x-java-jnlp-file
jpe image/jpeg
jpeg image/jpeg
jpg image/jpeg
jpz image/jpeg
js application/x-javascript
jwc application/jwc
kjx application/x-kjx
lak x-lml/x-lak
latex application/x-latex
lcc application/fastman
lcl application/x-digitalloca
lcr application/x-digitalloca
lgh application/lgh
lha application/octet-stream
lml x-lml/x-lml
lmlpack x-lml/x-lmlpack
lsf video/x-ms-asf
lsx video/x-ms-asf
lzh application/x-lzh
m13 application/x-msmediaview
m14 application/x-msmediaview
m15 audio/x-mod
m3u audio/x-mpegurl
m3url audio/x-mpegurl
ma1 audio/ma1
ma2 audio/ma2
ma3 audio/ma3
ma5 audio/ma5
man application/x-troff-man
map magnus-internal/imagemap
mbd application/mbedlet
mct application/x-mascot
mdb application/x-msaccess
mdz audio/x-mod
me application/x-troff-me
mel text/x-vmel
mi application/x-mif
mid audio/midi
midi audio/midi
mif application/x-mif
mil image/x-cals
mio audio/x-mio
mmf application/x-skt-lbs
mng video/x-mng
mny application/x-msmoney
moc application/x-mocha
mocha application/x-mocha
mod audio/x-mod
mof application/x-yumekara
mol chemical/x-mdl-molfile
mop chemical/x-mopac-input
mov video/quicktime
movie video/x-sgi-movie
mp2 audio/x-mpeg
mp3 audio/x-mpeg
mp4 video/mp4
mpc application/vnd.mpohun.certificate
mpe video/mpeg
mpeg video/mpeg
mpg video/mpeg
mpg4 video/mp4
mpga audio/mpeg
mpn application/vnd.mophun.application
mpp application/vnd.ms-project
mps application/x-mapserver
mrl text/x-mrml
mrm application/x-mrm
ms application/x-troff-ms
mts application/metastream
mtx application/metastream
mtz application/metastream
mzv application/metastream
nar application/zip
nbmp image/nbmp
nc application/x-netcdf
ndb x-lml/x-ndb
ndwn application/ndwn
nif application/x-nif
nmz application/x-scream
nokia-op-logo image/vnd.nok-oplogo-color
npx application/x-netfpx
nsnd audio/nsnd
nva application/x-neva1
oda application/oda
oom application/x-AtlasMate-Plugin
pac audio/x-pac
pae audio/x-epac
pan application/x-pan
pbm image/x-portable-bitmap
pcx image/x-pcx
pda image/x-pda
pdb chemical/x-pdb
pdf application/pdf
pfr application/font-tdpfr
pgm image/x-portable-graymap
pict image/x-pict
pm application/x-perl
pmd application/x-pmd
png image/png
pnm image/x-portable-anymap
pnz image/png
pot application/vnd.ms-powerpoint
ppm image/x-portable-pixmap
pps application/vnd.ms-powerpoint
ppt application/vnd.ms-powerpoint
pqf application/x-cprplayer
pqi application/cprplayer
prc application/x-prc
proxy application/x-ns-proxy-autoconfig
ps application/postscript
ptlk application/listenup
pub application/x-mspublisher
pvx video/x-pv-pvx
qcp audio/vnd.qcelp
qt video/quicktime
qti image/x-quicktime
qtif image/x-quicktime
r3t text/vnd.rn-realtext3d
ra audio/x-pn-realaudio
ram audio/x-pn-realaudio
rar application/x-rar-compressed
ras image/x-cmu-raster
rdf application/rdf+xml
rf image/vnd.rn-realflash
rgb image/x-rgb
rlf application/x-richlink
rm audio/x-pn-realaudio
rmf audio/x-rmf
rmm audio/x-pn-realaudio
rmvb audio/x-pn-realaudio
rnx application/vnd.rn-realplayer
roff application/x-troff
rp image/vnd.rn-realpix
rpm audio/x-pn-realaudio-plugin
rt text/vnd.rn-realtext
rte x-lml/x-gps
rtf application/rtf
rtg application/metastream
rtx text/richtext
rv video/vnd.rn-realvideo
rwc application/x-rogerwilco
s3m audio/x-mod
s3z audio/x-mod
sca application/x-supercard
scd application/x-msschele
sdf application/e-score
sea application/x-stuffit
sgm text/x-sgml
sgml text/x-sgml
sh application/x-sh
shar application/x-shar
shtml magnus-internal/parsed-html
shw application/presentations
si6 image/si6
si7 image/vnd.stiwap.sis
si9 image/vnd.lgtwap.sis
sis application/vnd.symbian.install
sit application/x-stuffit
skd application/x-Koan
skm application/x-Koan
skp application/x-Koan
skt application/x-Koan
slc application/x-salsa
smd audio/x-smd
smi application/smil
smil application/smil
smp application/studiom
smz audio/x-smd
snd audio/basic
spc text/x-speech
spl application/futuresplash
spr application/x-sprite
sprite application/x-sprite
spt application/x-spt
src application/x-wais-source
stk application/hyperstudio
stm audio/x-mod
sv4cpio application/x-sv4cpio
sv4crc application/x-sv4crc
svf image/vnd
svg image/svg-xml
svh image/svh
svr x-world/x-svr
swf application/x-shockwave-flash
swfl application/x-shockwave-flash
t application/x-troff
tad application/octet-stream
talk text/x-speech
tar application/x-tar
taz application/x-tar
tbp application/x-timbuktu
tbt application/x-timbuktu
tcl application/x-tcl
tex application/x-tex
texi application/x-texinfo
texinfo application/x-texinfo
tgz application/x-tar
thm application/vnd.eri.thm
tif image/tiff
tiff image/tiff
tki application/x-tkined
tkined application/x-tkined
toc application/toc
toy image/toy
tr application/x-troff
trk x-lml/x-gps
trm application/x-msterminal
tsi audio/tsplayer
tsp application/dsptype
tsv text/tab-separated-values
tsv text/tab-separated-values
ttf application/octet-stream
ttz application/t-time
txt text/plain
ult audio/x-mod
ustar application/x-ustar
uu application/x-uuencode
uue application/x-uuencode
vcd application/x-cdlink
vcf text/x-vcard
vdo video/vdo
vib audio/vib
viv video/vivo
vivo video/vivo
vmd application/vocaltec-media-desc
vmf application/vocaltec-media-file
vmi application/x-dreamcast-vms-info
vms application/x-dreamcast-vms
vox audio/voxware
vqe audio/x-twinvq-plugin
vqf audio/x-twinvq
vql audio/x-twinvq
vre x-world/x-vream
vrml x-world/x-vrml
vrt x-world/x-vrt
vrw x-world/x-vream
vts workbook/formulaone
wav audio/x-wav
wax audio/x-ms-wax
wbmp image/vnd.wap.wbmp
web application/vnd.xara
wi image/wavelet
wis application/x-InstallShield
wm video/x-ms-wm
wma audio/x-ms-wma
wmd application/x-ms-wmd
wmf application/x-msmetafile
wml text/vnd.wap.wml
wmlc application/vnd.wap.wmlc
wmls text/vnd.wap.wmlscript
wmlsc application/vnd.wap.wmlscriptc
wmlscript text/vnd.wap.wmlscript
wmv audio/x-ms-wmv
wmx video/x-ms-wmx
wmz application/x-ms-wmz
wpng image/x-up-wpng
wpt x-lml/x-gps
wri application/x-mswrite
wrl x-world/x-vrml
wrz x-world/x-vrml
ws text/vnd.wap.wmlscript
wsc application/vnd.wap.wmlscriptc
wv video/wavelet
wvx video/x-ms-wvx
wxl application/x-wxl
x-gzip application/x-gzip
xar application/vnd.xara
xbm image/x-xbitmap
xdm application/x-xdma
xdma application/x-xdma
xdw application/vnd.fujixerox.docuworks
xht application/xhtml+xml
xhtm application/xhtml+xml
xhtml application/xhtml+xml
xla application/vnd.ms-excel
xlc application/vnd.ms-excel
xll application/x-excel
xlm application/vnd.ms-excel
xls application/vnd.ms-excel
xlt application/vnd.ms-excel
xlw application/vnd.ms-excel
xm audio/x-mod
xml text/xml
xmz audio/x-mod
xpi application/x-xpinstall
xpm image/x-xpixmap
xsit text/xml
xsl text/xml
xul text/xul
xwd image/x-xwindowmp
xyz chemical/x-pdb
yz1 application/x-yz1
z application/x-compress
zac application/x-zaurus-zac
zip application/zip
㈢ 編程中VB跟VC指的是什麼 請詳細說清楚...
VB即Visual Basic編程語言
1991年,美國微軟公司推出了Visual Basic(可簡稱VB),目前的最新版本是VB 2008 Beta2(VB9)中文版。
Visual 意即可視的、可見的,指的是開發像Windows操作系統的圖形用戶界面(Graphic User Interface,GUI)的方法,它不需要編寫大量代碼去描述界面元素的外觀和位置,只要把預先建立好的對象拖放到屏幕上相應的位置即可。
Basic 實際上是一個短語的縮寫,這個短語就是 Beginners all_purpose symbolic instruction code ,其中文意思為「初始者通用符號指令代碼語言」。
Visual Basic 6 有學習版、專業版和企業版三種版本,以滿足不同的開發需要。學習版適用於普通學習者及大多數使用 Visual Basic 開發一般 Windows 應用程序的人員,但是;專業版適用於計算機專業開發人員,包括了學習版的全部內容功能以及Internet控制項開發工具之類的高級特性;企業版除包含專業版全部的內容外,還有自動化構件管理器等工具,使得專業編程人員能夠開發功能強大的組骨子裡分布式應用程序。
Visual Basic 是一種可視化的、面向對象和採用事件驅動方式的結構化高級程序設計語言,可用於開發 Windows 環境下的各類應用程序。它簡單易學、效率高,且功能強大可以與 Windows 專業開發工具SDK相媲美。在Visual Basic環境下,利用事件驅動的編程機制、新穎易用的可視化設計工具,使用Windows內部的廣泛應用程序介面(API)函數,以用動態鏈接庫(DLL)、對象的鏈接與世隔嵌入(OLE)、開放式數據連接(ODBC)等技術,可以高效、快速地開發Windows環境下功能強大、圖形界面豐富的應用軟體系統。隨著版本的提高,Visual Basic的功能也越來越強。5.0版以後,Visual Basic 推出了中文版,與前個版本相比,其功能有了很大提升。
但是,功能再強大,Visual Basic 仍然有一個缺點:在沒有MSVBVM**.DLL的計算機上必須安裝所需的DLL文件。用它可設計操作系統,不過,比較困難。
在21世紀初,Microsoft 公司推出 Visual Studio .NET 2003,它與 Visual Basic 之間有了重大變化,Visual Studio 為各種編程工具做了一個平台,Visual Basic.NET 可在這種平台上運行。相對於傳統VB,有很大的不同。VB .Net,首次使用.Net構架進行可視化編程,並且能很好地與COM構架兼容,Visual Studio .NET 2003 應用 .NET Framework 1.1 。
2005年 Visual Studio 2005 則運用了 NET 2.0 的技術,更加的方便了程序員的工作。可是新的程序對系統配置要求也較高,需要微軟.Net Framework 2.0以上的.Net構架支持。
2007年12月,微軟(Microsoft)推出了Visual Studio 2008 Beta 2 發生了重大的變化(見附圖)在代碼輸入的時候,可以比VB2005快很多,在非特殊的情況下,VB2008都會自動開啟 自動完成關鍵字 這個命令 而且支持最新的 .NET Framework 3.5 SP1 Beta
VC即Visual Basic編程語言
一、VC是什麼?學VC是學什麼?
首先VC是一個軟體(IDE集成開發環境)(編譯、編輯、調試)
C和C++。但C++中的有些特性是不用的,例如I/O流,多態繼承
WindowsSDK(軟體開發工具)
VC的靈魂:MFC(微軟基礎類庫)
ATL(ActiveX模板類庫)
其他的SDK,如OpenGL,DirectX,ActiveMoive,DrawDib(WinG)
VC是許許多多技術的綜合,就好像少林72般絕技,一般在應用中學會其中很少一部分就夠了。我們的現在目的,其實不過是學一套少林長拳。這套長拳應包括:
1、養成一種嚴謹的軟體開發習慣,熟悉軟體工程的基本原則。
2、C語言基礎
3、C++最基本內容:類、繼承性、封裝性、多態性的概念
4、如何用向導建立一個程序框架
5、設計菜單
6、設計工具條
7、設計和使用對話框,熟悉最常用的對話框控制項:按鈕、靜態文本、編輯框等
8、知道怎樣新建類、成員函數、成員變數、消息處理函數。
9、了解最常用的Windows消息:如WM_PAINT(重繪窗口),滑鼠按下、彈起、移動,初始化對話框,等。
10、了解最簡單的GDI(圖形設備介面):寫文字、畫框、畫點、畫線、畫圓,設置畫筆、畫刷。
11、熟悉最常用的MFC類:
CWnd
CDocument
CView
CDC
CDialog
CWinApp
CGdiObject及子類
CString、CPoint、CRect、CSize等簡單數據類型
CFile
以上提到的這些內容,是每個人都會用到的內容。
二、MFC簡介
上述主要內容都是與實際操作關系非常密切的,在此不可能講清楚;而且,這些在一般的書里都會講到。我主要將最重要的MFC介紹一下。
MFC是對WindowsAPI的封裝,大大簡化了我們的工作;學VC主要就是要學MFC,大約有100多個類,但常用的也就二三十個。應該象背4級單詞一樣將這些常用類搞懂;當然不要死記,要通過看幫助、看例子、動手練習來學會它們;而且,並非每個類的內部的所有函數都要學會,要日積月累。如果真的想成為高手,做個筆記本把自己認為重要的類、函數記下來,隨時學習,也是很好的突擊方法。
下面介紹最重要的MFC。
CWnd:窗口,它是大多數「看得見的東西」的父類(Windows里幾乎所有看得見的東西都是一個窗口,大窗口裡有許多小窗口),比如視圖CView、框架窗口CFrameWnd、工具條CToolBar、對話框CDialog、按鈕CButton,etc;一個例外是菜單(CMenu)不是從窗口派生的。該類很大,一開始也不必學,知道就行了。
CDocument文檔,負責內存數據與磁碟的交互。最重要的是OnOpenDocument(讀入),OnSaveDocument(寫盤),Serialize(讀寫)
CView視圖,負責內存數據與用戶的交互。包括數據的顯示、用戶操作的響應(如菜單的選取、滑鼠的響應)。最重要的是OnDraw(重畫窗口),通常用CWnd::Invalidate()來啟動它。另外,它通過消息映射表處理菜單、工具條、快捷鍵和其他用戶消息。你自己的許多功能都要加在裡面,你打交道最多的就是它。
CDC設備文本。無論是顯示器還是列印機,都是畫圖給用戶看。這圖就抽象為CDC。CDC與其他GDI(圖形設備介面)一起,完成文字和圖形、圖像的顯示工作。把CDC想像成一張紙,每個窗口都有一個CDC相聯系,負責畫窗口。CDC有個常用子類CClientDC(窗口客戶區),畫圖通常通過CClientDC完成。
CDialog對話框
CWinApp應用程序類。似於C中的main函數,是程序執行的入口和管理者,負責程序建立、消滅,主窗口和文檔模板的建立。最常用函數InitInstance():初始化。
CGdiObject及子類,用於向設備文本畫圖。它們都需要在使用前選進DC。
CPen筆,畫線
CBrush刷子,填充
CFont字體,控制文字輸出的字體
CBitmap點陣圖
CPalette調色板
CRgn區域,指定一塊區域可以用於做特殊處理。
CFile文件。最重要的不外是Open(打開),Read(讀入),Write(寫)
CString字元串。封裝了C中的字元數組,非常實用。
CPoint點,就是(x,y)對
CRect矩形,就是(left,top,right,bottom)
CSize大小,就是(cx,cy)對(寬、高)
三、用好MSDN和例子
作為提高,推薦看的例子有:
nHello最簡單的程序框架
nScribble滑鼠繪圖。教程:編程基礎,GDI
nDiblook圖像處理最簡單範例
nMFCIE網際網路瀏覽器
nEnroll資料庫
nDaoviewDao(數據訪問對象)範例。樹型和列視控制項
nCubeOpenGL範例,畫一個不斷旋轉的方塊
nHierSvrOLE伺服器
nOclientOLE包容器
nDrawcli滑鼠繪圖。也包括OLE。
nWordPad寫字板。OLE
四、幾點經驗
A.為什麼要用Windows而不是DOS編程
Windows編程並不比DOS編程難很多,只是在剛剛接觸的時候感到頭緒繁多,不知從何下手。實際上,如果你會C語言,你會發現Windows編程的難度並不比當年學C語言時大。DOS編程要想成為高手,也需要學習幾百個函數(無論是TC、BC、MicrosoftC),並要深入了解匯編語言級的DOS功能調用。而現在在Windows下,付出相同的工作量,你卻可以獲得幾倍的收益。如果你以前熟悉DOS編程,現在再搞Windows編程,只要兩個星期肯定會感到巨大的優越性:在DOS下,每一件事都要自己干,而且還有64K內存、顯示精度等的限制,實在是事倍功半了。
B.為什麼要用VC而不是其他Windows編程語言
n大多數大型軟體(包括Windows自己)都是用C、C++編的,所以可以利用的源代碼特別多。例如Photoshop,就有VC的編程介面。的其他的語言都不如VC有歷史優勢。而且VC的開發工具特別多,從控制項公司到硬體開發商,其產品很少敢不提供VC介面的。
nVC適合組織大工程(VB就不行)
nBorlandC++或C++Builder也很不錯,並不比VC差。但BC的版本兼容性不好,從3.1到4.0就出現「代溝」,而且VC提供了極為豐富的文檔和範例,VC的參考資料也遠比BC多。並且VC與其他的VisualStudio成員可以協調工作,對軟體工程有利。
n
C.開始不要學WinAPI編程,但以後最好學學WinAPI
特別要注意,開始不要買講WindowsSDK編程的書。一個臭名昭著的例子就是「HelloWorld」。各種計算機語言在入門課中往往都給出一個例子,顯示一行文字「HelloWorld」,無論是在Basic、C、Pascal,甚至匯編中,這個最簡單的小程序都幾行就可以寫完。但在早期的Windows編程中,剛才講到的「HelloWin」這個有名的例子就要組織一個工程、寫上幾百行代碼才能實現。這就嚇跑了很多想學Windows編程的人。實際上,在Windows下顯示「Helloworld」,最簡單的方法只要5行就夠了:
#include「windows.h」
voidWinMain()
{
MessageBox(NULL,」HelloWorld!」,」MyFirstWindowsApplication」,MB_OK);
}
當然這個程序只建立了一個最簡單的對話框,但這已經夠了。
如果你沒有SDK編程的經驗,學VC就是要利用MFC繞過Windows編程的許多細節。有好的工具為什麼不用呢?現在你在VC寫一個」HelloWorld」,只要寫一行代碼就可以了。
voidCYourView::OnDraw(CDC*pDC)
{
//…….其他的代碼
pDC->TextOut(100,100,」HelloWorld!」);
}
但MFC不是萬能的,WinAPI和VC中有很多功能在MFC中並不能反映出來。在入門後,要想發揮VC的完全能力,WindowsAPI還是非常重要的。而且,這些API在其他Windows語言中也用得到。
學語言,與練武道理也差不多。VC、VB、Dlphi、VFP,以及其他的Windows編程語言,都屬於同一個門派:Windows門,雖然招式不同,但內功都是一樣的,這就是WindowsAPI(應用編程介面),大概是兩千個函數。任何武功,招式即使再復雜,通常也能在很短時間內記下來;但內功就不是一朝一夕的事。而且,各門派的內功不同,Unix、Linux門有Uinx的內功,Apple(蘋果)門有Mac的內功,Java更是自成一派。我們這里說的學VC,只是學招式,學招式一個月差不多就夠了,聰明的兩個星期就可以掌握。光學招式,嚇唬人是夠了,但和高手一過招,非出醜不可。要想精通VC,必須熟悉WindowsAPI。