
安装Windows的安全更新程序失败可能有多种原因,以下是一些常见的解决方法:
重启计算机:尝试重新启动计算机,并再次运行更新程序。有时候,系统中的某些进程或服务可能会影响到更新程序的运行。
禁用防病毒软件:暂时禁用计算机上的任何防病毒软件,然后再次运行更新程序。有时候,防病毒软件可能会阻止更新程序的运行。
清除更新缓存:打开“控制面板”,选择“管理员工具”,然后选择“服务”。在服务管理器中,找到“Windows更新”服务,并停止该服务。然后,在文件资源管理器中,进入“C:\Windows\SoftwareDistribution\Download”目录,并删除该目录下的所有文件。最后,重新启动“Windows更新”服务,并运行更新程序。
使用命令行工具进行更新:打开命令提示符(以管理员身份运行),并输入以下命令:
这些命令将停止相关的服务、重命名相关的文件夹,并重新启动服务。然后,再次运行更新程序。
5手动下载和安装更新:前往Microsoft官方网站,手动下载并安装更新程序。在下载更新程序之前,请确保已经关闭任何防病毒软件,并且检查下载的文件是否与您的 *** 作系统版本和位数相匹配。
如果以上方法仍然无法解决问题,建议联系Microsoft官方支持,以获取更进一步的帮助。
这两天想学习关于如何编写windows服务程序的知识,就上网查了些资料。看了一篇文章《用C 语言编写Windows 服务程序的五个步骤》。但可能由于译者的疏忽,忘记了将关键代码放入该文档,导致初学者可能会看不懂。所以又查阅了相关资料。自己完成了《用C 语言编写Windows 服务程序的五个步骤》中的样例程序。
在本文中我希望能给初学者一些帮助,大致讲一下编写windows服务程序需要的知识。
首先Microsoft Windows 服务(即,以前的NT 服务)使您能够创建在它们自己的Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。
服务是有状态的,当我们使用windows自带的服务管理程序scexe查看服务状态时可以显示服务的当前状态,这个状态是由我们在程序代码中进行控制的。你最好在服务初始化的时候将服务设置为SERVICE_START_PENDING,当初始化完毕时设为SERVICE_RUNNING,这些状态是系统自定义的状态,可通过msdn查看其他状态。这个状态信息你会在scexe中看到。
在编写windows服务程序过程中你需要关注的函数有:
1首先是main函数,由于windows服务不需要界面,所以大部分程序为win32控制台应用程序,所以程序主函数为main 而不是WinMain()。在主函数要做的主要工作就是初始化一个SERVICE_TABLE_ENTRY 分派表结构体,然后调用StartServiceCtrlDispatcher();这将把调用进程的主线程转换为控制分派器。该分派器启动一个新线程,该线程运行分派表中对应于你的服务的ServiceMain()函数。ServiceMain()函数将在下面提到。
此过程示例代码如下:
SERVICE_TABLE_ENTRY entrytable[2];
entrytable[0]lpServiceName="testservice";
entrytable[0]lpServiceProc=(LPSERVICE_MAIN_FUNCTION)ServiceMain;
entrytable[1]lpServiceName=NULL;
entrytable[1]lpServiceProc=NULL;
StartServiceCtrlDispatcher(entrytable);
在这之后系统将自动创建一个线程去执行ServiceMain函数的内容,你应该将你要执行的任务在ServiceMain中循环,这样服务就开始运行了。
2.ServiceMain函数为void WINAPI ServiceMain(int argc, char argv)格式的函数,函数名字可以任意定义。它的作用就是:将你需要执行的任务放到该函数中循环执行即可。这就是服务程序的工作函数。在ServiceMain执行你的任务前,需要给SERVICE_TABLE_ENTRY 分派表结构体进行赋值,注意由于此时服务还没有开始执行你的任务所以我们将服务的状态设置为SERVICE_START_PENDING,即正在初始化。我们进行如下赋值:
servicestatusdwServiceType = SERVICE_WIN32;
servicestatusdwCurrentState = SERVICE_START_PENDING;
servicestatusdwControlsAccepted=SERVICE_ACCEPT_SHUTDOWN|SERVICE_ACCEPT_STOP;
//在本例中只接受系统关机和停止服务两种控制命令
servicestatusdwWin32ExitCode = 0;
servicestatusdwServiceSpecificExitCode = 0;
servicestatusdwCheckPoint = 0;
servicestatusdwWaitHint = 0;
hstatus = ::RegisterServiceCtrlHandler("testservice", CtrlHandler);
CtrlHandler为void WINAPI CtrlHandler(DWORD request)型的函数,函数名字可以任意设定。将在下一点讲到。
Hstatus为SERVICE_STATUS_HANDLE类型的全局变量。当需要改变服务状态时SetServiceStatus()函数需要它做为参数来标识一个服务。
3 void WINAPI CtrlHandler(DWORD request),函数的主要功能是,接收系统传递的控制命令,比如当你通过scexe关闭服务时,该函数会收到SERVICE_CONTROL_STOP消息,你就可以对服务进行必要的管理。在本例子程序中就只接收SERVICE_ACCEPT_SHUTDOWN和SERVICE_ACCEPT_STOP消息,这是通过前面给servicestatus赋值设定的。
这样一个基本的服务程序就完成了。
下面贴出我的示例代码仅供参考。该代码在vs2008中调试通过。本文结束的时候会附上如何安装服务。
#include <stdioh>
#include <Windowsh>
#define SLEEP_TIME 5000 //间隔时间
#define FILE_PATH "C:\\logtxt" //信息输出文件
bool brun=false;
SERVICE_STATUS servicestatus;
SERVICE_STATUS_HANDLE hstatus;
int WriteToLog(char str);
void WINAPI ServiceMain(int argc, char argv);
void WINAPI CtrlHandler(DWORD request);
int InitService();
int WriteToLog(char str)
{
FILE pfile;
fopen_s(&pfile,FILE_PATH,"a+");
if (pfile==NULL)
{
return -1;
}
fprintf_s(pfile,"%s\n",str);
fclose(pfile);
return 0;
}
void WINAPI ServiceMain(int argc, char argv)
{
servicestatusdwServiceType = SERVICE_WIN32;
servicestatusdwCurrentState = SERVICE_START_PENDING;
servicestatusdwControlsAccepted = SERVICE_ACCEPT_SHUTDOWN|SERVICE_ACCEPT_STOP;//在本例中只接受系统关机和停止服务两种控制命令
servicestatusdwWin32ExitCode = 0;
servicestatusdwServiceSpecificExitCode = 0;
servicestatusdwCheckPoint = 0;
servicestatusdwWaitHint = 0;
hstatus = ::RegisterServiceCtrlHandler("testservice", CtrlHandler);
if (hstatus==0)
{
WriteToLog("RegisterServiceCtrlHandler failed");
return;
}
WriteToLog("RegisterServiceCtrlHandler success");
//向SCM 报告运行状态
servicestatusdwCurrentState = SERVICE_RUNNING;
SetServiceStatus (hstatus, &servicestatus);
//下面就开始任务循环了,你可以添加你自己希望服务做的工作
brun=true;
MEMORYSTATUS memstatus;
char str[100];
memset(str,'\0',100);
while (brun)
{
GlobalMemoryStatus(&memstatus);
int availmb=memstatusdwAvailPhys/1024/1024;
sprintf_s(str,100,"available memory is %dMB",availmb);
WriteToLog(str);
Sleep(SLEEP_TIME);
}
WriteToLog("service stopped");
}
void WINAPI CtrlHandler(DWORD request)
{
switch (request)
{
case SERVICE_CONTROL_STOP:
brun=false;
servicestatusdwCurrentState = SERVICE_STOPPED
break;
case SERVICE_CONTROL_SHUTDOWN:
brun=false;
servicestatusdwCurrentState = SERVICE_STOPPED;
break;
default:
break;
}
SetServiceStatus (hstatus, &servicestatus);
}
void main()
{
SERVICE_TABLE_ENTRY entrytable[2];
entrytable[0]lpServiceName="testservice";
entrytable[0]lpServiceProc=(LPSERVICE_MAIN_FUNCTION)ServiceMain;
entrytable[1]lpServiceName=NULL;
entrytable[1]lpServiceProc=NULL;
StartServiceCtrlDispatcher(entrytable);
}
如何安装服务:
运行命令提示符cmdexe
输入sc create testservicename binpath= D:\testexe
输入sc start testservicename 启动服务
输入sc query 会在最底部显示你的服务当前的状态
输入sc stop testservicename 停止服务
输入sc delete testservicename删除服务,该服务将在下次重启后删除,在重启之前将不能注册同一个名字的服务。
windows中强行关闭当前程序的快捷键有以下5种方法,您可以根据自己实际情况选择:
1、按alt+f4键
2、ctrl+shift+del键
3、点击键ctrl+shfit+esc键,选择你要关闭的程序,结束任务,即可强制关闭程序
4、点击打开360加速球,选择勾选要关闭的程序,一键加速,强制关闭程序即可
5、打开电脑,同时打开电脑上多个软件,并同
时按住ctrl+alt+delete键,桌面会d出如下图,然后点击任务管理器(如果此时想返回桌面,直
接按esc键即可),会d出一个小窗口,里面列出了一些当前运行的软件程序,选择你要结束的软
件服务,然后点击左下角的结束任务,即可结束此软件服务,也就是强制给关闭了
程序(包括浏览器)出现问题,本身无法结束,原因可能是多方面的,有时候是程序本身的质量问题,有时候是系统的问题,有时候是浏览器访问一些网站是恶意的(比如你不按它的要求点确定就一直d出来问你),这时候就需要强制关闭这些程序。
第一步是使用任务管理器来结束它。
按住ctrl+alt+del键,再点任务管理器,然后在“应用程序”里找个该程序,点“结束任务”。如果这里没有,就到“进程”里面找到它,点“结束进程”。
一般来说,这样就可以了。但是有的进程用任务管理器无法结束,这时候就要使用第二个办法:
先在任务管理器里找到这个进程的PID,如果你不知道进程的ID,任务管理器-进程选项卡->查看->选择列->勾上"PID(进程标识符)",然后就能看见了。
然后点开始-运行,输入“cmd",打开命令行窗口,输入:
ntsd -c q -p PID
把最后那个PID,改成你要终止的进程的ID。
当双击某个图标时,Explorerexe进程的一个线程会侦测到这个 *** 作,它根据注册表中的信息取得文件名,然后Explorerexe 以这个文件名调用 CreateProcess 函数。注册表中有相关的项保存着双击 *** 作的信息,如 exe 文件关联、启动 exe 的 Shell 是哪个。PC中的大多其它的进程都是 Explorerexe 的子进程,因为它们都是由Explorerexe 进程创建的。
CreateProcess 实际上是通过 NtCreateProcess 函数实现的, 此时,系统会创建一个进程内核对象。进程内核对象可以看作是 *** 作系统用来管理进程的小的数据结构,它是在内核堆区分配的一个结构体,是系统用来存放关于进程统计信息的地方。进程内核对象维护了一个句柄表的结构,当进程被初始化之后,其句柄表是空的。当进程内的一个线程通过指定的函数创建了一个内核对象时,内核会为对象分配一块内存区域并初始化这块区域,然后内核会在进程的句柄表中查找一个空的入口,找到之后会初始化句柄表的以索引定位的区域。初始化的主要过程就是填充句柄表的一个单元,包括指定内核对象地址,指定访问码,指定标记等。
进程内核对象创建后,它的引用计数被置为1。然后系统为刚刚创建的进程分配的进程虚拟地址空间。要注意了,之所以称为虚拟地址空间,就是因为这块地址空间并不在内存之中,它只是在硬盘上划分的被称为“页”的文件。每个进程都有自己的虚拟地址空间,在进程初始化的时候,其所有的程序和数据会被加载到这个地址空间中。等到真正运行的时候,系统为每个进程配置的页表会把虚拟地址映射为真正的物理地址(这个过程,我会在后面的博客中详细介绍如何映射)。
初始化虚拟地址空间。进程地址空间创建后,Windows的装载器(loader,也称为PE装载器)开始工作,Loader会读取EXE文件的信息(PE文件)。此时 loader 会检查PE文件的有效性,如果PE文件有错误,进程也就无法启动了。如果PE文件没有错误,装载器就把PE文件的内容(二进制代码)映射到进程的地址空间中,然后读取 PE文件的导入地址表(Import Table),这里存放有exe文件需要导入的模块文件(DLL),系统会一一加载这些DLL到进程的地址空间中,具体做法是调用 LoadLibrary 函数加载程序代码到某个地址,然后系统会映射这些代码到进程的地址空间中,要知道DLL只需加载一次就可映射到所有进程的地址空间(映射过程我会在后面详细阐述)中,并为每个DLL维护一个引用计数,当引用计数为 0 时,DLL就从内存中卸载,释放占用的内存。DLL里面可能又引用了其它的DLL,因此加载DLL时是递归形式的,直到加载完Import Table 里描述的所有DLL模块,此时进程初始化部分完成。
创建进程的主线程。当进程的初始化完成后,开始创建进程的主线程,一个进程至少要有一个主线程才能运行,可以说进程只是充当一个容器的作用,而线程才是执行代码的载体。线程是用 CreateThread 这个函数创建的。创建线程时,也和进程相似,系统会创建线程内核对象,初始化线程堆栈。线程堆栈有两个,一个是核心堆栈,由核心态维护;另一个是用户堆栈,运行在用户态下。同样的,线程的引用计数也置为1。
C/C++运行期库初始化。当进程的主线程初始化完成后,并且线程得到了CPU时间片,CPU把CS:IP指向程序入口(OEP),这个地址相当重要,因为这是程序运行时第一条指令所在的地址(我们可以使用一些PE辅助工具来查看PE文件的地址信息,注意真实地址==偏移地址 + 基址)。其实,CS:IP指向的地址处是一条JMP指令,它跳转到程序真正的入口函数,入口函数有以下4种形式:
···
mainCRTStartup (用于 ANSI 版本的控制台应用程序 )
wmainCRTStartup ( 用于 Unicode 版本的控制台应用程序 )
WinMainCRTStartup ( 用于 ANSI 版本的窗口应用程序 )
wWinMainCRTStartup ( 用于 Unicode 版本的窗口应用程序)
···
下面再看看入口函数的源码:
···
int XXXCRTStartup(void) //XXX表示不同Windows版本
{ __security_init_cookie(); // 完成安全方面的初始化
return__tmainCRTStartup();
}
···
在__tmainCRTStartup中首先调用了GetStartupInfoW函数取得父进程创建本进程时的启动信息, 然后又是一系列的初始化,其中包括C++构造函数的调用,还有静态变量,全局变量的初始化,这些 *** 作是在_initterm这个函数中完成的。接着,我们的 (w)WinMain / (w)main 函数会被调用,到这时,用户程序代码才开始被执行。
像这类故障一般原因比较复杂,可能是系统和软件之间冲突,也可能是软件和软件之间有冲突,从而造成系统运行某些服务程序时出现错误,也很难查检测出故障根源所在,即使用常规方法修复,也未必能根本解决问题。所以通常最简单、最根本、最快捷和最有效的方法就是重装系统。
当然,你可以先尝试下述方法修复,如不行还是重装系统为上选:
第一、看看是否是系统或者软件的问题:
方法1,找一找是否是某款软件不正常运行,造成这种现象,打开系统任务管理器,查看相关进程,根据进程属性,确认是不是某款软件不正常运行,如果确认了该应用程序出错,解决方法如下:彻底卸载和清除此程序,并用 3_6_0 安 全 卫 士 或者 Q_Q 电 脑 管 家 清除注册表,然后重新安装该程序,最后更新到最新的稳定版本,不要安装测试版。
方法2、首先使用CTRL+ALT+Delete组合键打开电脑上的任务管理器,然后切换到详细信息页面;
找到explorerexe进程,选中后点击右下方的结束进程;
再点击页面左上角的文件夹,选择新建任务;
然后输入explorerexe,点击确定回到桌面就可以正常使用任务栏!
方法3,如果程序(包括:一个或者多个)都出现该内存不能为"written",解决办法如下:首先卸载相关的旧的版本或者测试版的应用程序,更换正式版或者稳定版的应用程序;如果故障依旧,也可以尝试通过“该内存不能为writte”的通用解决方法来修复出错程序,具体方法:打开“开始”菜单——运行中输入cmd 回车,在命令提示符下输入“for %1 in (%windir%\system32\ocx) do regsvr32 /s %1”,之后,再输入以下内容并回车 “for %1 in (%windir%\system32\dll) do regsvr32 /s %1”(注:命令都不包括双引号,另外此命令修复的过程可能持续较长时间,请一定耐心等待修复进程完全结束)。
方法4、更新和修复所有系统漏洞,这样通过系统本身更新或打补丁来修复出错的程序,尝试来消除错误。
方法5、开机不断点击F8键,进入系统 *** 作选单(如果是Win8,Win81,Win10系统,在看见开机画面后长按电源键关机,短时间内重复三次左右可以进入WinRE {Windows 恢复环境},但有的用户可能需要直接断开电源。这样开机后应该能出现高级恢复的界面了),选“最后一次正确配置”,重启电脑,看能否解决。
方法6、开机不断点击F8键,进入系统 *** 作选单(如果是Win8,Win81,Win10系统,在看见开机画面后长按电源键关机,短时间内重复三次左右可以进入WinRE {Windows 恢复环境},但有的用户可能需要直接断开电源。这样开机后应该能出现高级恢复的界面了),然后寻找“安全模式”,并进入“安全模式”,如能成功进入,依次单击“开始”→“所有程序”→“附件”→“系统工具”→“系统还原”,出现“系统还原对话框”,选择“恢复我的计算机到一个较早的时间”。 这样可以用Windows系统自带的系统还原功能,还原到以前能正常开机的时候一个还原点。(如果有的话)
方法7、用系统安装光盘或者系统安装U盘,放入光驱或者插入USB接口,重启电脑,进入光盘安装系统状态或者进入U盘安装系统状态,等到启动界面闪过后,不要选安装系统,而是选修复系统,对目前系统进行修复(可能会运行很长时间,2-4小时都可能),耐心等待修复完成,看看是否能解决问题。
如以上7种方法全部无效,那就只有重装系统了。
系统启动时用所有资源运行-->msconfig-->boot-->高级 -->勾选CUP和内存选项卡
1通过关闭特效有效提高windows7的运行速度
右键单击 我的电脑-->属性-->高级系统设置 -->性能-->设置-->视觉效果
留下五项"平滑屏幕字体边缘""启用透明玻璃""启用桌面组合""在窗口和按钮启用视觉样式""在桌面上为图标标签使用阴影"其余的把勾全拿了可以马上感觉到速度快了不少而视觉上几乎感觉不到变化
另外还可以勾选上显示缩略图而不是显示图标
2据说可提高文件打开速度10倍的设置
控制面板-->硬件和声音-->显示-->设置自定义文本大小DPI
去掉使用 Windows XP 风格 DPI 缩放比例的勾选确定
3轻松访问
控制面板-->轻松访问-->轻松访问中心 -->使计算机易于查看-->勾选关闭所有不必要的动画如果可能
4更改Windows资源管理器的默认打开的文件夹
启动参数的命令格式为%SystemRoot%explorerexe /e,〈对象〉/root, 〈对象〉/select, 〈对象〉
开始-->所有程序-->附件-->Windows 资源管理器-->右击-->属性-->快捷方式选项卡-->目标
修改为 %windir%\explorerexe /e, D:\Downloads确定
然后右击Windows资源管理器--> 锁定到任务栏
5修改我的文档桌面收藏夹我的音乐我的视频 我的下载等文件夹的默认位置
方法一CMD-->regedit修改[HKEY_CURRENT_USER\Software\Microsoft\Windows \CurrentVersion\Explorer\User Shell Folders]
方法二系统盘-->用户 -->当前用户名分别右击上述文件夹-->属性-->位置-->移动
6更改临时文件夹位置 %USERPROFILE%\AppData\Local\Temp
右击计算机-->属性-->高级系统设置 -->高级选项卡-->环境变量按钮-->X用户环境变量
7更改IE临时文件夹位置
IE-->Internet 选项-->常规选项卡-->设置按钮-->移动文件夹按钮-->选择
8系统自动登录
cmd-->control userpasswords2-->去掉要使用本机用户必须输入用户名和密码复选勾
9关闭系统休眠
cmd-->powercfg -h off
10去除历史纪录
cmd-->gpeditmsc-->打开本地组策略编辑器
1 计算机配置-管理模板-系统-关机选项-关闭会阻止或取消关机启动
2用户配置-->管理模板-->"开始"菜单和任务栏-->不保留最近打开的历史启用
3用户配置-->管理模板-->"开始"菜单和任务栏-->退出系统时清除最近打开的文档的历史启用
4用户配置→管理模板→Windows组件→Windows资源管理器→在Windows资源管理器搜索框中关闭最近搜索条目的显示启用
11在任务栏同时显示星期几
控制面板→时钟语言和区域→区域和语言→更改日期时间或数字格式点击d出窗口中的更改排序方法链接接下来进入日期标签在长短日期格式后分别添加两个dddd后缀最后点击确定按钮
12停止 tablet pc服务
将以下代码copy到记事本中存为bat文件并以管理员身份运行运行
@echo off
sc stop TabletInputService
sc config TabletInputService start= DISABLED
echo& pause
13手动执行以下 *** 作:
控制面板> *** 作中心>更改 *** 作中心设置:将所有钩选的选项全部去掉并将下方客户体验改善计划关闭
控制面板>程序和功能>左侧的打开或关闭windows功能:
关闭远程差分压缩
关闭tablet pc组件有触摸屏/画图板的用户不执行
关闭游戏需要玩windows内置小游戏的用户不执行
关闭打印和文件服务需要使用打印机的用户不执行
控制面板>声音>通信选项卡:钩选不执行任何 *** 作
控制面板>鼠标>指针选项 选项卡:取消提高指针精度的钩选
控制面板>自动播放:将为所有媒体和设备使用自动播放的钩选取消
计算机属性>远程设置:关闭远程协助
计算机属性>高级系统设置>设置性能>高级选项卡>更改虚拟内存:自定义大小更改后只有按设置按钮才能生效虚拟内存最大最小值设成一样是关键另外如果提示虚拟内存小了可以依据个人情况调大
14减少了鼠标移至"任务栏"或"显示桌面"出现预览画面所需的延迟时间
将以下代码copy到记事本中存为reg文件运行
Windows Registry Editor Version 500
[HKEY_CURRENT_USER\Control Panel\Mouse]
"MouseHoverTime"="100"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg]
"RemoteRegAccess"=dword:00000001
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"DesktopLivePreviewHoverTime"=dword:000000f4
15清理垃圾文件
将以下代码copy到记事本中存为bat文件运行
@echo off
RD %windir%\\$hf_mig\$ /Q /S
dir %windir%\\$NtUninstall /a:d /b >%windir%\newwzptxt
for /f %%i in %windir%\newwzptxt do rd %windir%\%%i /s /q
del %windir%\newwzptxt /f /q
del /f /s /q %systemdrive%\tmp
del /f /s /q %systemdrive%\_mp
del /f /s /q %systemdrive%\log
del /f /s /q %systemdrive%\chk
del /f /s /q %systemdrive%\old
del /f /s /q %systemdrive%\recycled\
del /f /s /q %windir%\bak
del /f /s /q %windir%\prefetch\
rd /s /q %windir%\temp md %windir%\temp
del /f /s /q "%userprofile%\local settings\temporary internet files\"
del /f /s /q "%userprofile%\local settings\temp\"
echo pause
其它垃圾文件
如果安装了office2007将安装所在分区下的隐藏文件MSOCache删除可以腾出约700MB空间此项可选
将系统盘:\用户\公用下的公用视频/文档//音乐文件夹删除此项可选
16全面彻底了解Windows 7的激活状态
命令一slmgrvbs -dli
功能 *** 作系统版本部分产品密钥许可证状态
命令二slmgrvbs -dlv
功能最为详尽的激活信息包括激活ID安装ID激活截止日期 -------显示显示 *** 作系统版本
命令三slmgrvbs -xpr
功能是否彻底激活
命令四winver
功能显示 *** 作系统版本
17笔记本电池健康查看命令
以管理员身份运行CMD
Powercfg –energy
以上就是关于如果安装Windows更新程序不起作用怎么办全部的内容,包括:如果安装Windows更新程序不起作用怎么办、如何编写windows服务程序、如何用windows强制退出当前程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)