;
帖子
3919 
精华
积分
11710 
鱼币
0 ¥ 
来自
大连 
在线时间
1858 小时 
注册时间
2007-6-11 
最后登录
2009-10-20 

贴图大师勋章新人进步勋章宣传大使勋章论坛元老勋章

3
发表于 2009-1-5 19:48 | 只看该作者
杩涗竴姝ュ涔犲璇濇 - 缂栫▼搴 - Powered by SupeSite

浣犵殑浣嶇疆锛缂栫▼搴 >> 璧勮 >> 姹囩紪璇█ >> 姹囩紪鏂囨。 >> 璇︾粏鍐呭 鍦ㄧ嚎鎶曠ǹ

杩涗竴姝ュ涔犲璇濇

鍙戝竷: 2008-6-26 22:55 |  浣滆: admin |   鏌ョ湅: 3娆

杩涗竴姝ュ涔犲璇濇锛

銆銆鏈涓垜浠皢杩涗竴姝ュ涔犲璇濇銆傜壒鍒湴鎴戜滑灏嗚鎺㈣濡備綍鎶婂璇濇褰撴垚杈撳叆璁惧銆傚鏋滄偍瀛︿範浜嗕笂涓璇撅紝閭e氨浼氬彂鐜版湰璇剧殑渚嬪瓙鍙湁灏戦噺鐨勬敼鍔紝灏辨槸鎶婃垜浠殑瀵硅瘽妗嗙獥鍙i檮灞炲埌涓荤獥鍙d笂銆傚彟澶栵紝鎴戜滑杩樿瀛︿範閫氱敤瀵硅瘽妗嗙殑鐢ㄦ硶銆

鐞嗚锛

鎶婂璇濇褰撴垚涓涓緭鍏ヨ澶囨潵鐢ㄧ‘瀹炴槸闈炲父鍦扮畝鍗曪紝鍒涘缓瀹屼富绐楀彛鍚庯紝鎮ㄥ彧瑕佽皟鐢ㄥ嚱鏁 CreatedialogParam 鎴 DialogBoxParam 灏卞彲浠ヤ簡锛屽墠涓涓嚱鏁板彧瑕佸湪瀵硅瘽妗嗙殑杩囩▼澶勭悊鍑芥暟涓鐞嗙浉鍏崇殑娑堟伅灏卞彲浠ワ紝鑰屽悗鑰呬綘蹇呴』鍦ㄦ秷鎭惊鐜涓彃鍏ュ嚱鏁 IsDialogMessage 鐨勮皟鐢ㄨ瀹冩潵澶勭悊閿洏鐨勬寜閿昏緫銆傚洜涓鸿繖涓や釜绋嬪簭娈电浉瀵规潵璇存瘮杈冨鏄擄紝鎴戜滑灏变笉璇﹁В銆傛偍鍙互涓嬭浇骞朵粩缁嗙爺绌躲

涓嬮潰鎴戜滑鏉ヨ璁洪氱敤瀵硅瘽妗嗐俉INDOWS宸茬粡涓烘偍鍑嗗濂戒簡棰勫畾涔夌殑瀵硅瘽妗嗙被锛屾偍鍙互鎷挎潵灏辩敤锛岃繖浜涢氱敤瀵硅瘽妗嗘彁渚涚粰鐢ㄦ埛浠ョ粺涓鐨勭晫闈€傚畠浠寘鎷:鎵撳紑鏂囦欢銆佹墦鍗般侀夋嫨棰滆壊銆佸瓧浣撳拰鎼滅储绛夈傛偍搴旇灏藉彲鑳藉湴鐢ㄥ畠浠傚鐞嗚繖浜涘璇濇鐨勪唬鐮佸湪comdlg32.dll涓紝涓轰簡鍦ㄦ偍鐨勫簲鐢ㄧ▼搴忎腑浣跨敤瀹冧滑锛屽氨蹇呴』鍦ㄩ摼鎺ラ樁娈甸摼鎺ュ簱鏂囦欢 comdlg32.lib銆傜劧鍚庤皟鐢ㄥ叾涓殑鐩稿叧鍑芥暟鍗冲彲銆傚浜庢墦寮鏂囦欢閫氱敤瀵硅瘽妗嗭紝璇ュ嚱鏁板悕涓 GetOpenFileName锛"淇濆瓨涓..."瀵硅瘽妗嗕负 GetSaveFileName锛屾墦鍗伴氱敤瀵硅瘽妗嗘槸 PrintDlg锛 绛夌瓑銆傛瘡涓涓繖鏍风殑鍑芥暟閮芥帴鏀朵竴涓寚鍚戜竴涓粨鏋勪綋鐨勬寚閽堢殑鍙傛暟锛屾偍鍙互鍙傝僕IN32 API鎵嬪唽寰楀埌璇︾粏鐨勮祫鏂欙紝鏈涓垜灏嗚瑙e垱寤哄拰浣跨敤鎵撳紑鏂囦欢瀵硅瘽妗嗐

涓嬮潰鏄墦寮瀵硅瘽妗嗗嚱鏁 GetOpenFileName 鐨勫師鍨:

GetOpenFileName proto lpofn:DWORD

鎮ㄥ彲浠ョ湅鍒帮紝璇ュ嚱鏁板彧鏈変竴涓弬鏁帮紝鍗虫寚鍚戠粨鏋勪綋OPENFILENAME鐨勬寚閽堛傚綋鐢ㄦ埛閫夋嫨浜嗕竴涓枃浠跺苟鎵撳紑锛岃鍑芥暟杩斿洖TRUE锛屽惁鍒欒繑鍥濬ALSE銆傛帴涓嬫潵鎴戜滑鐪嬬湅缁撴瀯浣揙PENFILENAME鐨勫畾涔:

OPENFILENAME STRUCT

lStructSize DWORD ?

hwndOwner HWND ?

hInstance HINSTANCE ?

lpstrFilter LPCSTR ?

lpstrCustomFilter LPSTR ?

nMaxCustFilter DWORD ?

nFilterIndex DWORD ?

lpstrFile LPSTR ?

nMaxFile DWORD ?

lpstrFileTitle LPSTR ?

nMaxFileTitle DWORD ?

lpstrInitialDir LPCSTR ?

lpstrTitle LPCSTR ?

Flags DWORD ?

nFileOffset WORD ?

nFileExtension WORD ?

lpstrDefExt LPCSTR ?

lCustData LPARAM ?

lpfnHook DWORD ?

lpTemplateName LPCSTR ?

OPENFILENAME ENDS

濂斤紝鎴戜滑鍐嶆潵鐪嬬湅璇ョ粨鏋勪綋涓父鐢ㄧ殑鎴愬憳鐨勬剰涔:

lStructSize 缁撴瀯浣揙PENFILENAME鐨勫ぇ灏忋

hwndOwner 鎷ユ湁鎵撳紑瀵硅瘽妗嗙殑绐楀彛鐨勫彞鏌勩

hInstance 鎷ユ湁璇ユ墦寮鏂囦欢瀵硅瘽妗嗙殑搴旂敤绋嬪簭鐨勫疄渚嬪彞鏌 銆

lpstrFilter 浠ULL缁撳熬鐨勪竴涓垨澶氫釜閫氶厤绗︺傞氶厤绗︽槸鎴愬鍑虹幇鐨勶紝鍓嶄竴閮ㄥ垎鏄弿杩伴儴鍒嗭紝鍚庝竴閮ㄥ垎鍒欐槸閫氶厤绗︾殑鏍煎紡锛岃濡:

FilterString db "All Files (*.*)",0, "*.*",0

db "Text Files (*.txt)",0,"*.txt",0,0

娉ㄦ剰:鍙湁姣忎竴瀵逛腑鐨勭浜岄儴鍒嗘槸WINDOWS鐢ㄦ潵杩囨护鎵闇閫夋嫨鐨勬枃浠剁殑锛屽彟澶栨偍蹇呴』鍦ㄨ閮ㄥ垎鍚庢斁缃竴涓0锛屼互绀哄瓧绗︿覆鐨勭粨鏉熴

nFilterIndex 鐢ㄦ潵鎸囧畾鎵撳紑鏂囦欢瀵硅瘽妗嗙涓娆℃墦寮鏃舵墍鐢ㄧ殑杩囨护妯″紡涓诧紝璇ョ储寮曟槸浠1寮濮嬬畻鐨勶紝鍗崇涓涓氶厤绗︽ā寮忕殑绱㈠紩鏄1锛岀浜屼釜鏄2锛岃濡備笂闈㈢殑渚嬪瓙涓紝鑻ユ寚瀹氳鍊间负2锛屽垯缂虹渷鏄剧ず鐨勬ā寮忎覆灏辨槸"*.txt"銆

lpstrFile 闇瑕佹墦寮鐨勬枃浠剁殑鍚嶇О鐨勫湴鍧锛岃鍚嶇О灏嗕細鍑虹幇鍦ㄦ墦寮鏂囦欢瀵硅瘽妗嗙殑缂栬緫鎺т欢涓紝璇ョ紦鍐插尯涓嶈兘瓒呰繃260涓瓧绗﹂暱锛屽綋鐢ㄦ埛鎵撳紑鏂囦欢鍚庯紝璇ョ紦鍐插尯涓寘鍚鏂囦欢鐨勫叏璺緞鍚嶏紝鎮ㄥ彲浠ヤ粠璇ョ紦鍐插尯涓娊鍙栨偍鎵闇瑕佺殑璺緞鎴栨枃浠跺悕绛変俊鎭

nMaxFile lpstrFile鐨勫ぇ灏忋

lpstrTitle 鎸囧悜瀵硅瘽妗嗘爣棰樼殑瀛楃涓层

Flags 璇ユ爣蹇楀喅瀹氬喅瀹氫簡瀵硅瘽妗嗙殑椋庢牸鍜岀壒鐐广

nFileOffset 鍦ㄧ敤鎴锋墦寮浜嗕竴涓枃浠跺悗璇ュ兼槸鍏ㄨ矾寰勫悕绉颁腑鎸囧悜鏂囦欢鍚嶇涓涓瓧绗︾殑绱㈠紩銆傝濡:鑻ュ叏璺緞鍚嶄负"c:\windows\system\lz32.dll"锛 鍒欒鍊间负18銆

nFileExtension 鍦ㄧ敤鎴锋墦寮浜嗕竴涓枃浠跺悗璇ュ兼槸鍏ㄨ矾寰勫悕绉颁腑鎸囧悜涓枃浠舵墿灞曞悕绗竴涓瓧绗︾殑绱㈠紩銆

渚嬪瓙:

涓嬩緥涓紝鎴戜滑婕旂ず浜嗗綋鐢ㄦ埛閫夋嫨"File->Open"鏃讹紝灏嗗脊鍑轰竴涓墦寮鏂囦欢瀵硅瘽妗嗭紝褰撶敤鎴烽夋嫨浜嗘煇涓枃浠舵墦寮鏃讹紝浼氬脊鍑轰竴涓璇濇锛屽憡鐭ヨ鎵撳紑鐨勬枃浠剁殑鍏ㄨ矾寰勫悕锛屾枃浠跺悕鍜屾枃浠舵墿灞曞悕銆

.386

.model flat,stdcall

option casemap:none

WinMain proto :DWORD,:DWORD,:DWORD,:DWORD

include \masm32\include\windows.inc

include \masm32\include\user32.inc

include \masm32\include\kernel32.inc

include \masm32\include\comdlg32.inc

includelib \masm32\lib\user32.lib

includelib \masm32\lib\kernel32.lib

includelib \masm32\lib\comdlg32.lib

.const

IDM_OPEN equ 1

IDM_EXIT equ 2

MAXSIZE equ 260

OUTPUTSIZE equ 512

鎵撳嵃 | 鏀惰棌姝ら〉 |  鎺ㄨ崘缁欏ソ鍙 | 涓炬姤
涓婁竴绡 涓嬩竴绡
 

璇勫垎锛0

鍙戣〃璇勮
鏌ョ湅鍏ㄩ儴鍥炲銆愬凡鏈0浣嶇綉鍙嬪彂琛ㄤ簡鐪嬫硶銆