汇编语言专业课程设计编写记事本.doc
《汇编语言专业课程设计编写记事本.doc》由会员分享,可在线阅读,更多相关《汇编语言专业课程设计编写记事本.doc(35页珍藏版)》请在咨信网上搜索。
华 北 科 技 学 院 课程设计阐明书 课程名称: 汇编语言 班级: 计算机B08-1 姓名:_李鹏飞_ __ 学号:__ 07014231 __ 设计题目:___ win32编写记事本 ___ 设计时间:_ 6月23日 _至_ 7月1日 __ 指引教师:_____ 杜杏菁_ ________________ 评 语:_________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:__ __评阅教师:_____ 一、课程设计目 进行程序设计办法和技能基本训练,巩固在课堂上学到关于程序设计基本知识和基本办法,通过实际动手能力培养,进一步熟悉汇编语言构造和用法,达到能独立阅读、编制和调试一定规模汇编语言程序水平。 二、课程设计规定 1.规定编写并调试通过一种小型软件,实现对软件或硬件操作。 2.遵循模块化、构造化程序设计办法。 3.规定程序必要对的。 4.程序简要易懂,多运用输入输出提示,出错信息及必要注释。 5.规定程序构造合理,语句使用得当。 6.恰当追求编程技巧和程序运营效率。 三、课程设计题目: win32编写记事本 四、课题分析 WINDOW 记事本编写,规定能实现基本菜单框架并打开窗口,有能力同窗可以编写进行数据录入并保存代码 开 始 加载头文献 加载数据段 编译代码 设计窗体 编译生成文献 结 束 五、流程图: 六、程序源代码: .386 .model flat,stdcall option casemap:none include windows.inc include user32.inc includelib user32.lib include kernel32.inc includelib kernel32.lib include shell32.inc includelib shell32.lib include comctl32.inc includelib comctl32.lib include comdlg32.inc includelib comdlg32.lib ICO_MAIN EQU 1000h ;图标 IDM_MAIN EQU h ;菜单 IDA_MAIN EQU h ;加速键 IDM_NEW EQU 2101h ;新建 IDM_OPEN EQU 2102h ;打开 IDM_SAVE EQU 2103h ;保存 IDM_SAVEAS EQU 2104h ;另存为 IDM_EXIT EQU 2105h ;退出 IDM_UNDO EQU 2201h ;撤销 IDM_CUT EQU 2203h ;剪切 IDM_COPY EQU 2204h ;复制 IDM_PASTE EQU 2205h ;粘贴 IDM_DELETE EQU 2206h ;删除 IDM_FIND EQU 2207h ;查找 IDM_REPLACE EQU 220Ah ;替代 IDM_SELECTALL EQU 220Bh ;全选 IDM_FONT EQU 2301h ;字体 IDM_STATUSBAR EQU 2401h ;状态栏 IDM_HELP EQU 2501h ;协助主题 IDM_ABOUT EQU 2502h ;关于 IDM_MENUHELP EQU 2601h ;菜单信息 .data? hInstance dd ? hWinMain dd ? hMenu dd ? hWinStatus dd ? hWinEdit dd ? hFile dd ? hFindDialog dd ? hRichEdit dd ? dwFontColor dd ? idFindMessage dd ? stFind FINDREPLACE <?> szFindText db 100 dup (?) szReplaceText db 100 dup (?) szFileName db MAX_PATH dup (?) stLogFont LOGFONT <?> dwOption dd ? .data F_STATUSBAR equ 00000001h dllEdit db "RichEd20.dll",0 errTitle db "错误",0 noRichEdit db "无法找到RichEd20.dll" className db "TextEditor",0 captionMain db "文本编辑器",0 classEdit db "RichEdit20A",0 fontFace db "Fixedsys",0 modify db "你已经改动过啦,要不要存一下?",0 filter db "文本文献(*.txt)",0,"*.txt",0,"所有文献",0,"*.*",0,0 defExt db "txt",0 titleFormat db "%s - 我记事本",0 errCreateFile db "咦!浮现问题了!",0 errOpenFile db "咦!怎么打不开!",0 notFound db "不给力啊,找不到!",0 noName db "还没起名字",0 timeFormat db "%02d:%02d:%02d",0 charsFormat db "字节数:%d",0 lineFormat db "行:%d",0 colFormat db "列:%d",0 helpTitle db "协助",0 helpText db "Sorry!无法提供任何协助",0 aboutTitle db "关于 记事本",0 aboutText db "我记事本",0ah,0dh,"作者:李鹏飞",0ah,0dh,"07月01日",0ah,0dh,0 dwStatusWidth dd 100,200,300,400,-1 dwMenuHelp dd 0,IDM_MENUHELP,0,0 FINDMSGSTRING db "commdlg_FindReplace",0 .code ;==================================================================================================== _CheckModifyState PROC invoke SendMessage,hWinEdit,EM_GETMODIFY,0,0 ;获取控件内容与否变化信息 .if eax != 0 invoke MessageBox,hWinMain,addr modify,addr captionMain,\ MB_YESNOCANCEL or MB_ICONQUESTION .if eax == IDYES call _SaveFile ;有待改动 .elseif eax == IDCANCEL mov eax,FALSE ret .endif .endif mov eax,TRUE ret _CheckModifyState ENDP ;==================================================================================================== ;Richedit流出操作 _StreamProcOut PROC uses ebx edi esi _dwCookie,lpBuffer,NumBytes,pBytes invoke WriteFile,hFile,lpBuffer,NumBytes,pBytes,0 xor eax,1 ;如果ReadFile或WriteFile返回1(成功),则最后eax返回0,阐明操作成功 ret _StreamProcOut ENDP ;==================================================================================================== ;Richedit流入操作 _StreamProcIn PROC uses ebx edi esi _dwCookie,lpBuffer,NumBytes,pBytes invoke ReadFile,hFile,lpBuffer,NumBytes,pBytes,0 xor eax,1 ;如果ReadFile或WriteFile返回1(成功),则最后eax返回0,阐明操作成功 ret _StreamProcIn ENDP ;==================================================================================================== ;设立字体和字体颜色 _SetFont PROC _lpszFont,_dwFontSize,_dwColor local @stCf:CHARFORMAT invoke RtlZeroMemory,addr @stCf,sizeof @stCf ;开始填充stCf构造 mov @stCf.cbSize,sizeof @stCf mov @stCf.dwMask,CFM_SIZE or CFM_FACE or CFM_BOLD or CFM_COLOR ;字段掩码,用来指定构造中哪些字段是有效 push _dwFontSize pop @stCf.yHeight push _dwColor pop @stCf.crTextColor mov @stCf.dwEffects,0 invoke lstrcpy,addr @stCf.szFaceName,_lpszFont invoke SendMessage,hWinEdit,EM_SETTEXTMODE,1,0 ;设立工作模式 invoke SendMessage,hWinEdit,EM_SETCHARFORMAT,SCF_ALL,addr @stCf ;为控件中所有文本设立指定格式 ret _SetFont ENDP ;==================================================================================================== ;查找文字 _FindText PROC local @stFindText:FINDTEXTEX ;设立查找区域 invoke SendMessage,hWinEdit,EM_EXGETSEL,0,addr @stFindText.chrg .if stFind.Flags & FR_DOWN ;向下查找 push @stFindText.chrg.cpMax pop @stFindText.chrg.cpMin ;将这个选取区域结束位置用做下一次查找起始点 .endif mov @stFindText.chrg.cpMax,-1 ;始终查找到所有文本最后 ;设立查找选项 mov @stFindText.lpstrText,offset szFindText mov ecx,stFind.Flags and ecx,FR_MATCHCASE or FR_DOWN or FR_WHOLEWORD ;查找并把光标设立到找到文本上 invoke SendMessage,hWinEdit,EM_FINDTEXTEX,ecx,addr @stFindText ;ecx中存储是搜索选项 .if eax == -1 mov ecx,hWinMain .if hFindDialog mov ecx,hFindDialog .endif invoke MessageBox,ecx,addr notFound,NULL,MB_OK or MB_ICONINFORMATION ret .endif ;找到文本后来,文本位置在FINDTEXTEX构造chrgText字段中返回,chrgText字段是一种CHARRANGE构造,直接在EM_EXSETSEL消息中使用它将选取区域设立到找到文字上 invoke SendMessage,hWinEdit,EM_EXSETSEL,0,addr @stFindText.chrgText invoke SendMessage,hWinEdit,EM_SCROLLCARET,NULL,NULL ;卷动文字,以便找到文本可以出当前顾客视野中 ret _FindText ENDP ;==================================================================================================== ;保存文献,如果没有打开或创立文献则另存为 _SaveFile PROC local @stES:EDITSTREAM .if !hFile call _SaveAs .if !eax ret .endif .endif mov @stES.dwCookie,FALSE ;在Richedit流操作中写文献 mov @stES.dwError,NULL mov @stES.pfnCallback,offset _StreamProcOut ;回调函数 invoke SendMessage,hWinEdit,EM_STREAMOUT,SF_TEXT,addr @stES ;流出操作,文本格式是简朴文本格式 invoke SendMessage,hWinEdit,EM_SETMODIFY,FALSE,0 ;设立修改状态 mov eax,TRUE ret _SaveFile ENDP ;===================================================================================================== ;另存为 _SaveAs PROC local @stOF:OPENFILENAME local @stEs:EDITSTREAM invoke RtlZeroMemory,addr @stOF,sizeof @stOF ;显示"保存文献"对话框 ;填充stOF构造 mov @stOF.lStructSize,sizeof @stOF push hWinMain pop @stOF.hwndOwner ;所属窗口 mov @stOF.lpstrFilter,offset filter ;指定文献名筛选字符串 mov @stOF.lpstrFile,offset szFileName mov @stOF.nMaxFile,MAX_PATH ;指定lpstrFile参数指向缓冲区长度,260 mov @stOF.Flags,OFN_PATHMUSTEXIST ;途径必要存在 mov @stOF.lpstrDefExt,offset defExt ;默认扩展名 mov @stOF.lpstrTitle,NULL ;标题为“另存为” invoke GetSaveFileName,addr @stOF .if eax ;创立新文献 invoke CreateFile,addr szFileName,GENERIC_READ or GENERIC_WRITE,\ ;存取方式:为读写 FILE_SHARE_READ,\ ;共享属性:容许其她进程同步以读方式打开文献 0,\ ;安全属性:无法被继承 CREATE_ALWAYS,\ ;创立新文献,如果文献已经存在则清除原文献 FILE_ATTRIBUTE_NORMAL,\ ;文献属性:普通文献 0 ;文献模板句柄 .if eax != INVALID_HANDLE_VALUE push eax .if hFile ;有打开文献 invoke CloseHandle,hFile .endif pop eax ;保存文献 mov hFile,eax ;文献句柄 call _SaveFile call _SetCaption call _SetStatus mov eax,TRUE ret .else invoke MessageBox,hWinMain,addr errCreateFile,NULL,MB_OK or MB_ICONERROR .endif .endif mov eax,FALSE ret _SaveAs ENDP ;===================================================================================================== ;打开及输入文献 _OpenFile PROC local @stOF:OPENFILENAME local @stES:EDITSTREAM invoke RtlZeroMemory,addr @stOF,sizeof @stOF ;显示“打开文献”对话框 mov @stOF.lStructSize,sizeof @stOF push hWinMain pop @stOF.hwndOwner mov @stOF.lpstrFilter,offset filter mov @stOF.lpstrFile,offset szFileName mov @stOF.nMaxFile,MAX_PATH mov @stOF.Flags,OFN_FILEMUSTEXIST or OFN_PATHMUSTEXIST ;文献必要存在 invoke GetOpenFileName,addr @stOF .if eax ;创立文献 invoke CreateFile,addr szFileName,GENERIC_READ or GENERIC_WRITE,\ FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0 ;打开存在文献,当文献不存在时函数会返回失败 .if eax == INVALID_HANDLE_VALUE invoke MessageBox,hWinMain,addr errOpenFile,NULL,MB_OK or MB_ICONSTOP ret .endif push eax .if hFile invoke CloseHandle,hFile .endif pop eax mov hFile,eax ;读入文献 mov @stES.dwCookie,TRUE ;在Richedit流操作中读文献 mov @stES.dwError,NULL mov @stES.pfnCallback,offset _StreamProcIn invoke SendMessage,hWinEdit,EM_STREAMIN,SF_TEXT,addr @stES ;流入操作,文本格式是简朴文本格式 invoke SendMessage,hWinEdit,EM_SETMODIFY,FALSE,0 ;设立修改状态 call _SetCaption call _SetStatus .endif ret _OpenFile ENDP ;===================================================================================================== ;选取字体 _ChooseFont PROC local @stCF:CHOOSEFONT invoke RtlZeroMemory,addr @stCF,sizeof @stCF mov @stCF.lStructSize,sizeof @stCF push hWinMain pop @stCF.hwndOwner mov @stCF.lpLogFont,offset stLogFont ;指定字体名称和属性 push dwFontColor pop @stCF.rgbColors mov @stCF.Flags,CF_SCREENFONTS or CF_INITTOLOGFONTSTRUCT or CF_EFFECTS ;字体列表中只显示屏幕字体,对话框中显示“效果”复选框 invoke ChooseFont,addr @stCF .if eax push @stCF.rgbColors pop dwFontColor mov eax,@stCF.iPointSize ;顾客选取字体大小,单位是1/10磅 shl eax,1 invoke _SetFont,addr stLogFont.lfFaceName,eax,@stCF.rgbColors .endif ret _ChooseFont ENDP ;===================================================================================================== ;设立标题栏显示内容 _SetCaption PROC local @szBuffer[1024]:byte .if szFileName ;如果当前是某一文献,则显示文献名 mov eax,offset szFileName .else mov eax,offset noName ;否则显示未命名 .endif invoke wsprintf,addr @szBuffer,addr titleFormat,eax invoke SetWindowText,hWinMain,addr @szBuffer ret _SetCaption ENDP ;===================================================================================================== ;设立菜单项,状态栏状态和信息 _SetStatus PROC local @stRange:CHARRANGE local @dwLines,@dwLine,@dwLineStart local @szBuffer[256]:byte local @stST:SYSTEMTIME ;在状态栏显示行列信息 invoke GetWindowTextLength,hWinEdit invoke wsprintf,addr @szBuffer,addr charsFormat,eax invoke SendMessage,hWinStatus,SB_SETTEXT,2,addr @szBuffer ;总字节数 invoke SendMessage,hWinEdit,EM_EXGETSEL,0,addr @stRange ;获取选定区域 invoke SendMessage,hWinEdit,EM_EXLINEFROMCHAR,0,-1 ;得知指定字符位于哪一行中 mov @dwLine,eax invoke SendMessage,hWinEdit,EM_LINEINDEX,eax,0 ;获取指定行起始字符位置 mov ecx,@stRange.cpMin sub ecx,eax inc ecx ;显示给顾客列号从1开始编号 invoke wsprintf,addr @szBuffer,addr colFormat,ecx invoke SendMessage,hWinStatus,SB_SETTEXT,1,addr @szBuffer ;光标所在位置列 inc @dwLine ;显示给顾客行号从1开始 invoke wsprintf,addr @szBuffer,addr lineFormat,@dwLine invoke SendMessage,hWinStatus,SB_SETTEXT,0,addr @szBuffer ;光标所在位置行 ;依照状况变化菜单项状态 mov eax,@stRange.cpMin .if eax == @stRange.cpMax ;选中区域为空则复制粘贴删除不可用 invoke EnableMenuItem,hMenu,IDM_COPY,MF_GRAYED invoke EnableMenuItem,hMenu,IDM_CUT,MF_GRAYED .else invoke EnableMenuItem,hMenu,IDM_COPY,MF_ENABLED invoke EnableMenuItem,hMenu,IDM_CUT,MF_ENABLED .endif invoke IsClipboardFormatAvailable,CF_TEXT ;判断剪贴板格式与否是文本格式 .if eax ;如果剪贴板有内容则可以粘贴 invoke EnableMenuItem,hMenu,IDM_PASTE,MF_ENABLED .else invoke EnableMenuItem,hMenu,IDM_PASTE,MF_GRAYED .endif invoke GetWindowTextLength,hWinEdit .if eax ;如果可以全选 invoke EnableMenuItem,hMenu,IDM_SELECTALL,MF_ENABLED .else invoke EnableMenuItem,hMenu,IDM_SELECTALL,MF_GRAYED .endif invoke SendMessage,hWinEdit,EM_GETMODIFY,0,0 .if eax ;如果可以保存 invoke EnableMenuItem,hMenu,IDM_SAVE,MF_ENABLED .else invoke EnableMenuItem,hMenu,IDM_SAVE,MF_GRAYED .endif .if dwOption & F_STATUSBAR ;如果选中了状态栏 invoke CheckMenuItem,hMenu,IDM_STATUSBAR,MF_CHECKED .else invoke CheckMenuItem,hMenu,IDM_STATUSBAR,MF_UNCHECKED .endif ret _SetStatus ENDP ;===================================================================================================== _Resize PROC local @stRect:RECT local @stRectTemp:RECT local @dwWidth,@dwHeight ;获得窗口客户区大小 invoke GetClientRect,hWinMain,addr @stRect mov eax,@stRect.right sub eax,@stRect.left mov @dwWidth,eax mov eax,@stRect.bottom sub eax,@stRect.top mov @dwHeight,eax ;计算及调节状态栏 .if dwOption & F_STATUSBAR invoke ShowWindow,hWinStatus,SW_SHOW invoke MoveWindow,hWinStatus,0,0,0,0,TRUE invoke GetWindowRect,hWinStatus,addr @stRectTemp mov eax,@stRectTemp.bottom sub eax,@stRectTemp.top sub @dwHeight,eax .else invoke ShowWindow,hWinStatus,SW_HIDE .endif ;调节Richedit控件位置 invoke MoveWindow,hWinEdit,@stRect.left,@stRect.top,@dwWidth,@dwHeight,TRUE ret _Resize ENDP ;===================================================================================================== _Quit PROC invoke _CheckModifyState .if eax invoke DestroyWindow,hWinMain invoke PostQuitMessage,NULL ;产生一条 WM_QUIT 消息 .if hFile ;如果有打开文献则关闭 invoke CloseHandle,hFile .endif .endif invoke KillTimer,hWinMain,1 ;取消定期器 ret _Quit ENDP ;===================================================================================================== _CreateWindow PROC ;注册“查找”对话框消息,初始化“查找”对话框构造 mov stFind.lStructSize,sizeof stFind ;构造长度 push hWinMain pop stFind.hwndOwner ;指定所属窗口 mov stFind.Flags,FR_DOWN ;把“方向”单选钮设立为“向下” mov stFind.lpstrFindWhat,offset szFindText ;lpstrFindWhat指向包括查找字符串指针 mov stFind.wFindWhatLen,sizeof szFindText ;wFindWhatLen批示lpstrFindWhat缓存区长度 mov stFind.lpstrReplaceWith,offset szReplaceText ;指向包括替代为字符串指针 mov stFind.wReplaceWithLen,sizeof szReplaceText ;lpstrReplaceWith缓存区长度- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 专业课程 设计 编写 记事本
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文