电脑无论进什么程序都自动重启怎么办

电脑无论进什么程序都自动重启怎么办,第1张

在很多情况下,电脑会莫名其妙自动关机、自动重启、频繁死机、频繁蓝屏。这种情况是电脑在使用过程中最最频繁出现的故障了。出现这种故障的原因主要有三个:

1、PCI设备、内存条等设备没有插稳或者松动;

2、硬件设备不兼容或者设备本身有质量问题;

3、硬盘有坏道或者有坏的扇区。如果硬件没有问题,那么电脑自动关机、自动重启、频繁死机、频繁蓝屏的原因95%以上属于这个原因。

解决故障的办法应该是“选软后硬”,即:

1、解决硬盘有坏道或者有坏扇区的问题,可用sfc命令和chkdsk命令来作软修复。方法是:点击“开始”——“运行”——在出现的窗口中输入命令字符,然后按窗口中的提示 *** 作即可。需要注意的是:有时会要求你重新启动电脑,在重启时同时修复。

2、检查PCI设备(如:显卡、声卡、网卡等)和内存条是否松动,最好是重新插拔一次,交检查金手指部分是否有氧化或者脱落

也可能是有木马病毒

嵌入你的电脑,使你的电脑遭受蓝屏危机,

可以进入安全模式下用360杀毒

用360系统急救箱它对各类流行的顽固木马查杀效果极佳,能够强力清除木马和可疑程序,并修复被感染的系统文件,抑制木马再生,修复系统功能!

自动重启是什么原因和对应的解决办法

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));

StartInfocb = 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

4 char buf[256];

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

6 CString strPath = buf;

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

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

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

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));

startupinfocb=sizeof(STARTUPINFO);

// 最重要的地方

if(m_bSetRestart)

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

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

CDialog::OnClose();

}

1、电脑散热不好很容易引起电脑自动重启,因为cpu有自我保护功能,当热量威胁到电脑硬件时,就关机自动保护,如果是这种情况,建议在干燥凉爽的地方放置电脑,并确保风扇正常运转,保证电脑散热良好。

2、其次可能是电脑软件出问题,包括电脑中毒,还有软件有冲突或错误。这些都可能让电脑自动重启,如果要排除软件问题,可先杀毒然后减少电脑中运行的软件,试探性运行软件看看在什么情况下电脑自动重启,如果找到引起重启的软件将其下载看看,如果还不能确定,可以重装系统试试。

3、电脑其他问题引起的电脑重启,包括电脑硬件其他问题,比如硬盘坏道,等等,这些问题要经过电脑硬件测试软件进行测试。如果检测有问题,应即时到维修店修理。

先启动和自己同样的进程,再关闭自己。

如果你使用QT,可以像下面那样做:

C/C++ code#include <QtGui> class Temp : public QWidget { Q_OBJECT private: QLabel label; QPushButton button; public: Temp(QWidget parent = 0); public slots: void ClickedButton(); }; Temp::Temp(QWidget parent) : QWidget(parent) { button = new QPushButton("restart", this); QVBoxLayout layout = new QVBoxLayout; layout->addWidget(button); setLayout(layout); move(200, 200); connect(button, SIGNAL(clicked()), this, SLOT(ClickedButton())); } void Temp::ClickedButton() { QProcess p = new QProcess(this); QString str = QApplication::applicationFilePath(); p->startDetached(str); close(); } #include "mainmoc" int main(int argc, char argv[]) { QApplication app(argc, argv); Temp temp = new Temp; temp->show(); return appexec(); }

以上就是关于电脑无论进什么程序都自动重启怎么办全部的内容,包括:电脑无论进什么程序都自动重启怎么办、windws2000电脑d出C:system32lsass.exe应用程序后提示后电脑自动重启、怎么实现MFC程序自动重启等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/10213676.html

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

发表评论

登录后才能评论

评论列表(0条)

保存