兄弟打印机MFC7340显示自我诊断,15分钟后自动重启是什么原因?要送修吗

兄弟打印机MFC7340显示自我诊断,15分钟后自动重启是什么原因?要送修吗,第1张

定影主板或传感器电路板故障,可以先进入维修模式做下总清,看看能不能解决这个毛病,如果不行就只能查一下看,上述的硬件是哪个坏了,进行更换。

总清方法:机器通电开机后,功能启动1按四下上箭头,进入维修模式,然后按上箭头选择尾部是01的选项,按OK。功能键加启动加上键4次,按上一次显示01就可以清零。按下键一次显示99就退出维修模式。

故障原因

1、热敏传感器故障。15分钟后还不行的话,可以考虑检测下电源板。

2、发热的灯管损耗严重。

3、电路板故障。

4、定影问题。定影保护了或是烧粘连了,按住功能键不放插上电源,等前面几个灯都亮了在放手,按01后按确认键等20分钟后版就好了,如果重新开机还是那样,那就说明定影是真的烧了,那只有换了。

5、检查电源,当接入的线路上负载过多,打印机权没有足够的功率,也会出现这个情况。

扩展资料

打印机常见故障检修:

故障现象:打印机不进纸

1、打印纸放入过多。先检查一下打印纸的安装是否符合标准,例如装入位置是否已经超出打印机左导轨箭头标志,如果超过的话,必须减少打印纸。

2、异物堵塞。看看打印机内部是否有什么异物堵塞,例如如果打印机中出现夹纸的话,就会导致不进纸的现象。

如果有异物的话,必须要将它排除,排除时一定要先将打印机电源关闭,然后小心取出异物。如果取出夹纸的话,必须沿出纸方向将夹纸缓慢拉出,取出夹纸后还要检查是否有残留碎纸存在,并保证将碎纸也清除干净。

3、打印纸潮湿。如果使用的打印纸存放时间过长,并且表面有潮湿感觉的话,也有可能出现不进纸的现象,此时我们要做的就是要烘干打印纸。

4、墨水是否用完。如果使用的是喷墨打印机,黑色墨盒或彩色墨盒的指示灯闪烁或直亮提示墨水即将用完。如果墨盒为空时,打印机将不能进纸。

void ReStart(BOOL bNormal)

{

PROCESS_INFORMATION info

STARTUPINFO startup

char szPath[128]

char *szCmdLine

GetModuleFileName(AfxGetApp()->m_hInstance, szPath, sizeof(szPath))

szCmdLine = GetCommandLine()

GetStartupInfo(&startup)

BOOL bSucc = CreateProcess(szPath, szCmdLine, NULL, NULL,

FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &startup, &info)

if(bNormal && bSucc)

{

CWnd *pWnd = AfxGetMainWnd()

if(pWnd != NULL)

{

pWnd->PostMessage(WM_CLOSE, 0, 0)

}

else

ExitProcess(-1)

}

else

ExitProcess(-1)

}

VC实现程序重新启动

在很多情况下,我们需要将当前运行的程序重新运行;此时我们就必须在程序关闭后立即重新运行程序,形成新的进程;

实例代码:

1、重启按钮事件中添加代码:

g_bIsRunAgain=true//控制是否重新运行的变量

this->SendMessage(WM_CLOSE)

在MESSAGE_MAP中药添加 ON_WM_CLOSE

2、在OnClose()消息处理中加入代码:

if(g_bIsRunAgain)

{

char pBuf[MAX_PATH] //存放路径的变量

GetCurrentDirectory(MAX_PATH,pBuf) //获取程序的当前目录

strcat(pBuf,"\")

strcat(pBuf,AfxGetApp()->m_pszExeName)

strcat(pBuf,".exe")

CString strPath= (CString) pBuf

STARTUPINFO StartInfo

PROCESS_INFORMATION procStruct

memset(&StartInfo, 0, sizeof(STARTUPINFO))

StartInfo.cb = sizeof(STARTUPINFO)

::CreateProcess(

(LPCTSTR) strPath,

NULL,

NULL,

NULL,

FALSE,

NORMAL_PRIORITY_CLASS,

NULL,

NULL,

&StartInfo,

&procStruct)

}

CDialog::OnClose()

通过查阅资料实现了对话框程序重新启动的功能,流程如下:

1ShowWindow(SW_HIDE)//隐藏本对话框

2WinExec(strPath, SW_SHOW)//启动strPath路径下的执行文件

3 OnOK()//退出当前执行对话框程序

另外在获取strPath是使用函数:GetModuleFileName(NULL,buf,sizeof(buf))获取当前程序的执行文件路径。

附源代码:

1void CF_RockClientDlg::OnBtnRestart()

2{

3// TODO: Add your control notification handler code here

4char buf[256]

5::GetModuleFileName(NULL,buf,sizeof(buf))

6CString strPath = buf

7ShowWindow(SW_HIDE)//隐藏本对话框

8WinExec(strPath, SW_SHOW)//启动strPath路径下的执行文件

9OnOK()//退出当前执行对话框程序

10}

vc 实现软件重启

一般要在一个事件里产生软件的自动重启 。

比如,我在一个对话框工程的子对话框中有一个单击按钮“确定”后d出一个是否重开软件的功能。

子对话框中:

if(MessageBox("更改了设置,需重启软件生效","Notice",MB_YESNO)==IDYES)

{

// WM_ONSETRESTART 消息是一个自定义的消息

//实现一个布尔变量的开关,以此评估 响应 wm_close 消息是不是由这个按钮触发(否则软件永远重启)

AfxGetMainWnd()->SendMessage(WM_ONSETRESTART)

AfxGetMainWnd()->SendMessage(WM_CLOSE)

}

在主对话框中的 OnClose 中:

void CTransFileDlg::OnClose()

{

char pBuf[MAX_PATH]

//获取应用程序完全路径,比 GetCurrentDirectory 好用多了

GetModuleFileName(NULL,pBuf,MAX_PATH)

STARTUPINFO startupinfo

PROCESS_INFORMATION proc_info

memset(&startupinfo,0,sizeof(STARTUPINFO))

startupinfo.cb=sizeof(STARTUPINFO)

// 最重要的地方

if(m_bSetRestart)

::CreateProcess(pBuf,NULL,NULL,NULL,FALSE,

NORMAL_PRIORITY_CLASS,NULL,NULL,&startupinfo,&proc_info)

CDialog::OnClose()

}

用ShellExecuteEx启动另外一个程序,传递一个reboot参数,然后在新启动的程序中接收这个参数,来判断自身是“重启”的结果,然后寻找之前的窗体,最后TerminateProcess

之前的进程。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12105718.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存