WMI使用集锦
1.WMI简介
WMI是英文Windows Management Instrumentation的简写,它的功能主要是:访问本地主机的一些信息和服务,可以管理远程计算机(当然你必须要拥有足够的权限),比如:重启,关机,关闭进程,创建进程等。
2.使用时首先添加System.Management.dll,然后引用
using System.Management;
using System.Threading; 3.1 html代码
<HTML>
<HEAD>
<title>WMITest</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<asp:Button id="Button1" style="Z-INDEX: 101; LEFT: 48px; POSITION: absolute; TOP: 16px" runat="server"
Text="获得本地磁盘的信息" Width="152px"></asp:Button>
<asp:Button id="Button2" style="Z-INDEX: 102; LEFT: 32px; POSITION: absolute; TOP: 56px" runat="server"
Text="获得指定磁盘的容量" Width="144px"></asp:Button>
<asp:Button id="Button3" style="Z-INDEX: 103; LEFT: 32px; POSITION: absolute; TOP: 96px" runat="server"
Text="列出机器中所有的共享资源" Width="192px"></asp:Button>
<asp:Button id="Button4" style="Z-INDEX: 104; LEFT: 8px; POSITION: absolute; TOP: 128px" runat="server"
Text="控制让系统中的某个文件夹共享或取消共享" Width="264px"></asp:Button>
<asp:Button id="Button5" style="Z-INDEX: 105; LEFT: 48px; POSITION: absolute; TOP: 160px" runat="server"
Text="获得系统服务的运行状态"></asp:Button>
<asp:Button id="Button6" style="Z-INDEX: 106; LEFT: 40px; POSITION: absolute; TOP: 192px" runat="server"
Text="通过WMI修改IP,而实现不用重新启动" Width="248px"></asp:Button>
<asp:Button id="Button7" style="Z-INDEX: 107; LEFT: 24px; POSITION: absolute; TOP: 224px" runat="server"
Text="如何利用WMI远程重启远程计算机" Width="232px"></asp:Button>
<asp:Button id="Button8" style="Z-INDEX: 108; LEFT: 40px; POSITION: absolute; TOP: 264px" runat="server"
Text="利用WMI创建一个新的进程" Width="192px"></asp:Button>
<asp:Button id="Button9" style="Z-INDEX: 109; LEFT: 32px; POSITION: absolute; TOP: 296px" runat="server"
Text="如何通过WMI终止一个进程" Width="192px"></asp:Button>
<asp:Button id="Button10" style="Z-INDEX: 110; LEFT: 32px; POSITION: absolute; TOP: 328px" runat="server"
Text="如何用WMI 来获取远程机器的目录以及文件" Width="280px"></asp:Button>
<asp:Button id="Button11" style="Z-INDEX: 111; LEFT: 424px; POSITION: absolute; TOP: 24px" runat="server"
Text="网卡的MAC地址" Width="120px"></asp:Button>
<asp:Button id="Button12" style="Z-INDEX: 112; LEFT: 456px; POSITION: absolute; TOP: 64px" runat="server"
Text="CPU的系列号 " Width="104px"></asp:Button>
<asp:Button id="Button13" style="Z-INDEX: 113; LEFT: 448px; POSITION: absolute; TOP: 120px"
runat="server" Text="主板的系列号"></asp:Button>
<asp:Button id="Button14" style="Z-INDEX: 114; LEFT: 472px; POSITION: absolute; TOP: 160px"
runat="server" Text="获取硬盘ID"></asp:Button>
<asp:Button id="Button15" style="Z-INDEX: 115; LEFT: 448px; POSITION: absolute; TOP: 208px"
runat="server" Text="获取本机的用户列表" Width="144px"></asp:Button></FONT>
</form>
</body>
</HTML>
public class WMITest : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.Button Button3;
protected System.Web.UI.WebControls.Button Button4;
protected System.Web.UI.WebControls.Button Button5;
protected System.Web.UI.WebControls.Button Button6;
protected System.Web.UI.WebControls.Button Button7;
protected System.Web.UI.WebControls.Button Button8;
protected System.Web.UI.WebControls.Button Button9;
protected System.Web.UI.WebControls.Button Button10;
protected System.Web.UI.WebControls.Button Button11;
protected System.Web.UI.WebControls.Button Button12;
protected System.Web.UI.WebControls.Button Button13;
protected System.Web.UI.WebControls.Button Button14;
protected System.Web.UI.WebControls.Button Button15;
protected System.Web.UI.WebControls.Button Button1;
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
}

Web Form Designer generated code#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}

/**//// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Button2.Click += new System.EventHandler(this.Button2_Click);
this.Button3.Click += new System.EventHandler(this.Button3_Click);
this.Button4.Click += new System.EventHandler(this.Button4_Click);
this.Button5.Click += new System.EventHandler(this.Button5_Click);
this.Button6.Click += new System.EventHandler(this.Button6_Click);
this.Button7.Click += new System.EventHandler(this.Button7_Click);
this.Button8.Click += new System.EventHandler(this.Button8_Click);
this.Button9.Click += new System.EventHandler(this.Button9_Click);
this.Button10.Click += new System.EventHandler(this.Button10_Click);
this.Button11.Click += new System.EventHandler(this.Button11_Click);
this.Button12.Click += new System.EventHandler(this.Button12_Click);
this.Button13.Click += new System.EventHandler(this.Button13_Click);
this.Button14.Click += new System.EventHandler(this.Button14_Click);
this.Button15.Click += new System.EventHandler(this.Button15_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion

1.如何用WMI获得指定磁盘的容量#region 1.如何用WMI获得指定磁盘的容量
private string DriveType(string type)
{
string rtntype="";
switch (type)
{
case "1":
rtntype="Not Type";
break;
case "2":
rtntype="Floppy disk";
break;
case "3":
rtntype="Hard disk";
break;
case "4":
rtntype="Removable drive or network drive";
break;
case "5":
rtntype="CD-ROM";
break;
case "6":
rtntype="RAM disk";
break;
default :
break;
}
return rtntype;
}
private void Button1_Click(object sender, System.EventArgs e)
{
SelectQuery query=new SelectQuery("Select * From Win32_LogicalDisk");
ManagementObjectSearcher searcher=new ManagementObjectSearcher(query);
foreach(ManagementBaseObject disk in searcher.Get()) 
{
Response.Write(disk["Name"] +" "+DriveType(disk["DriveType"].ToString()) + " " + disk["VolumeName"]+"<br>");
}
}
#endregion

2.如何用WMI获得指定磁盘的容量#region 2.如何用WMI获得指定磁盘的容量
private void Button2_Click(object sender, System.EventArgs e)
{
ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=/"c:/"");
disk.Get();
Response.Write("Logical Disk Size = " + disk["Size"] + " bytes");
}
#endregion

3.如何列出机器中所有的共享资源#region 3.如何列出机器中所有的共享资源
private void Button3_Click(object sender, System.EventArgs e)
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_share");
foreach (ManagementObject share in searcher.Get()) 
{
Response.Write(share.GetText(TextFormat.Mof));
}
}
#endregion

4.怎样写程控制让系统中的某个文件夹共享或取消共享#region 4.怎样写程控制让系统中的某个文件夹共享或取消共享
private void Button4_Click(object sender, System.EventArgs e)
{
/**//*首先,这需要以有相应权限的用户登录系统才行
将
object[] obj = {"C://Temp","我的共享",0,10,"Dot Net 实现的共享",""};
改为
object[] obj = {"C://Temp","我的共享",0,null,"Dot Net 实现的共享",""};
就可以实现授权给最多用户了。
*/
ManagementClass _class = new ManagementClass(new ManagementPath("Win32_Share"));
object[] obj =
{"C://Temp","我的共享",0,10,"Dot Net 实现的共享",""};
_class.InvokeMethod("create",obj);
}
#endregion

5.如何获得系统服务的运行状态#region 5.如何获得系统服务的运行状态
private void Button5_Click(object sender, System.EventArgs e)
{
string[] lvData = new string[4];
ManagementObjectSearcher searcher =new ManagementObjectSearcher("SELECT * FROM Win32_Service");
foreach (ManagementObject mo in searcher.Get()) 
{
lvData[0] = mo["Name"].ToString();
lvData[1] = mo["StartMode"].ToString();
if (mo["Started"].Equals(true))
lvData[2] = "Started";
else
lvData[2] = "Stop";
lvData[3] = mo["StartName"].ToString();
Response.Write(lvData[0]+lvData[1]+lvData[2]+lvData[3]);
}
}
#endregion

6.通过WMI修改IP,而实现不用重新启动#region 6.通过WMI修改IP,而实现不用重新启动
private void Button6_Click(object sender, System.EventArgs e)
{
ReportIP();
// SwitchToDHCP();
SwitchToprivate();
Thread.Sleep( 5000 );
ReportIP();
Response.Write( "end." );
}
private void SwitchToDHCP() 
{
ManagementBaseObject inPar = null;
ManagementBaseObject outPar = null;
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach( ManagementObject mo in moc ) 
{
if( ! (bool) mo["IPEnabled"] )
continue; 
inPar = mo.GetMethodParameters("EnableDHCP");
outPar = mo.InvokeMethod( "EnableDHCP", inPar, null );
break;
}
} 
private void SwitchToprivate() 
{
ManagementBaseObject inPar = null;
ManagementBaseObject outPar = null;
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach( ManagementObject mo in moc ) 
{
if( ! (bool) mo[ "IPEnabled" ] )
continue; 
inPar = mo.GetMethodParameters( "Enableprivate" ); 
inPar["IPAddress"] = new string[]
{ "192.168.1.1" }; 
inPar["SubnetMask"] = new string[]
{ "255.255.255.0" };
outPar = mo.InvokeMethod( "Enableprivate", inPar, null );
break;
}
} 
private void ReportIP() 
{
Response.Write( "****** Current IP addresses:" );
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach( ManagementObject mo in moc ) 
{
if( ! (bool) mo[ "IPEnabled" ] )
continue; 
string str="{0}/n SVC: '{1}' MAC: [{2}]";
str= string.Format(mo["Caption"].ToString(), mo["ServiceName"].ToString(),mo["MACAddress"].ToString());
Response.Write(str); 
string[] addresses = (string[]) mo[ "IPAddress" ];
string[] subnets = (string[]) mo[ "IPSubnet" ]; 
Response.Write( " Addresses :" );
foreach(string sad in addresses)
Response.Write(sad+"<br>"); 
Response.Write( " Subnets :" );
foreach(string sub in subnets )
Response.Write(sub+"<br>");
}
}
#endregion

7.如何利用WMI远程重启远程计算机#region 7.如何利用WMI远程重启远程计算机
private void Button7_Click(object sender, System.EventArgs e)
{
Response.Write("Computer details retrieved using Windows Management Instrumentation (WMI)");
Response.Write("mailto:singlepine@hotmail.com");
Response.Write("=========================================================================");
//连接远程计算机
ConnectionOptions co = new ConnectionOptions();
co.Username = "john";
co.Password = "john";
System.Management.ManagementScope ms = new System.Management.ManagementScope("192.168.1.2//root//cimv2", co);
//查询远程计算机
System.Management.ObjectQuery oq = new System.Management.ObjectQuery("SELECT * FROM Win32_OperatingSystem");
ManagementObjectSearcher query1 = new ManagementObjectSearcher(ms,oq);
ManagementObjectCollection queryCollection1 = query1.Get();
foreach( ManagementObject mo in queryCollection1 ) 
{ 
string[] ss=
{""};
mo.InvokeMethod("Reboot",ss);
Response.Write(mo.ToString());
}
}
#endregion

8.利用WMI创建一个新的进程#region 8.利用WMI创建一个新的进程
private void Button8_Click(object sender, System.EventArgs e)
{
//Get the object on which the method will be invoked
ManagementClass processClass = new ManagementClass("Win32_Process"); 
//Get an input parameters object for this method
ManagementBaseObject inParams = processClass.GetMethodParameters("Create"); 
//Fill in input parameter values
inParams["CommandLine"] = "calc.exe"; 
//Execute the method
ManagementBaseObject outParams = processClass.InvokeMethod ("Create", inParams, null); 
//Display results
//Note: The return code of the method is provided in the "returnvalue" property of the outParams object
Response.Write("Creation of calculator process returned: " + outParams["returnvalue"]);
Response.Write("Process ID: " + outParams["processId"]); 
}
#endregion

9.如何通过WMI终止一个进程#region 9.如何通过WMI终止一个进程
private void Button9_Click(object sender, System.EventArgs e)
{
ManagementObject service =
new ManagementObject("win32_service=/"winmgmt/"");
InvokeMethodOptions options = new InvokeMethodOptions();
options.Timeout = new TimeSpan(0,0,0,5); 
ManagementBaseObject outParams = service.InvokeMethod("StopService", null, options);
Response.Write("Return Status = " + outParams["Returnvalue"]);
}
#endregion

10.如何用WMI 来获取远程机器的目录以及文件#region 10.如何用WMI 来获取远程机器的目录以及文件
private void Button10_Click(object sender, System.EventArgs e)
{
ManagementObject disk = new ManagementObject(
"win32_logicaldisk.deviceid=/"c:/"");
disk.Get();
Response.Write("Logical Disk Size = " + disk["Size"] + " bytes");
}
#endregion

11.网卡的MAC地址#region 11.网卡的MAC地址
private void Button11_Click(object sender, System.EventArgs e)
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject mo in moc) 
{
if((bool)mo["IPEnabled"] == true)
Response.Write("MAC address"+mo["MacAddress"].ToString()+"<br>");
mo.Dispose();
}
}
#endregion

12.CPU的系列号#region 12.CPU的系列号
private void Button12_Click(object sender, System.EventArgs e)
{
string cpuInfo = "";//cpu序列号
ManagementClass cimobject = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = cimobject.GetInstances();
foreach(ManagementObject mo in moc) 
{
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
Response.Write(cpuInfo);
}
}
#endregion

13.主板的系列号#region 13.主板的系列号
private void Button13_Click(object sender, System.EventArgs e)
{
ManagementObjectSearcher searcher=new ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard");
foreach(ManagementObject share in searcher.Get())
{
Response.Write("主板制造商:" + share["Manufacturer"].ToString()) ;
Response.Write("型号:" +share["Product"].ToString()) ;
Response.Write("序列号:"+share["SerialNumber"].ToString()) ;
}
}
#endregion

14.获取硬盘ID#region 14.获取硬盘ID
private void Button14_Click(object sender, System.EventArgs e)
{
String HDid;
ManagementClass cimobject = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc = cimobject.GetInstances();
foreach(ManagementObject mo in moc) 
{
HDid = (string)mo.Properties["Model"].Value;
Response.Write(HDid);
}
}
#endregion

15.获取本机的用户列表#region 15.获取本机的用户列表
private void Button15_Click(object sender, System.EventArgs e)
{
SelectQuery query = new SelectQuery("SELECT * FROM Win32_UserAccount");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
foreach(ManagementObject os in searcher.Get())
{
Response.Write(os["Name"]);
}
}
#endregion
}相关文章:

基于Ubuntu交叉编译FFmpeg Windows SDK
写在前面 FFmpeg是一个开源且跨平台的音视频解决方案,集采集、转码、流式化为一身,项目的libavcodec编解码模块和libavformat媒体格式模块,支持非常非常丰富的编解码格式和容器封装格式,是做媒体相关开发工作必须要掌握和借鉴的一…
未来2年,程序员如何吊打高学历工程师?服气!
人工智能已成为新时代的风向标,如果你是对人工智能感兴趣的互联网工作者、大学生、研究生并期望在 AI 方向发展,建议你一定要深入学习一下人工智能。因为,未来将是人工智能的时代!为什么会有这个判断呢?第一࿰…

元素宽高的获取
elem.clientWidth/Height 获取某个元素可视区的宽高(不包括边框); elem.offsetWidth/Height 获取某个元素的宽高(计算边框); 当元素有padding值时,上面两个方法获取的值都包括padding。 doc…

VC++技术内幕(三)
C*View <- Cview <- CWnd <- Cobject C*View 两个最重要的基类:CView和CWnd,CWnd提供了C*View的”窗口属性”,CView则提供了它和应用程序框架其他部分间的联系。 在视窗内绘图: OnDraw成员函数: 是CView类中的虚成员函数…

用ASP.NET如何读取NT用户名
公司有个最近要开发一个小系统,是采用ASP.NET开发,现在被一难题卡住了. 需实现功能: 用户登录进来后系统自动取得用户名,这样就不用用户再登录了, 方便用户使用,并根据用户名取他的权限. 难点: 现在读NT用户名读不倒. 折腾了大半…
《赛博朋克2077》是捏脸游戏?上科大学生社团开发了一款赛博“滤镜”
作者 | eEhyQx出品 | AI科技大本营现象级大作《赛博朋克2077》终于没有跳票顺利发布了!你通关了吗?来自上海科技大学的学生社团GeekPie打造了一款全新的“滤镜”,CyberMe。只需上传一张照片,一秒将你带入夜之城!上传一…

vue父组件调用子组件的方法
vue组件与组件通信有如下几种情况: 平行组件父组件与子组件子组件与父组件它们之间通信有几种方法有: props自定义事件vuex今天我们聊一下父组件调用子组件的一种方法 parent.vue <template><div><h1>我是父组件</h1><child …
Ajax无刷新实现图片切换特效
1.页面cs代码usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingAjaxPro;publicpartial…

授权管理【学习笔记】《卓有成效的管理者》 第二章 掌握自己的时间
每日一贴,今天的内容关键字为授权管理 比拟《领导力》那本书,德鲁克这本书可操作性更强一些。 管理别人之前,先管理好自己;管理好自己,首先是管理好自己的时光。其实个人时光管理,有专门的书籍,在公司里&am…
再不参与就晚了!!2020年结束前最后一波内测福利!人人有份!
各位程序猿们都下载CSDN官方出品的插件了吧?什么?还有不知道插件是什么的同学??你错过了太多!更酷更高效的浏览器插件,一键万能操作,新标签页极简个性,让你的工作效率UP UP UP&#…

Node.js Express 框架 Express
Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。 使用 Express 可以快速地搭建一个完整功能的网站。 Express 框架核心特性: 可以设置中间件来响应 HTTP 请求。 定义…
Ajax实现无刷新树
1.建立一个aspx页面html代码<html xmlns"http://www.w3.org/1999/xhtml"><head id"Head1"runat"server"><title>小山</title><link type"text/css"href"../../Styles/tree_css/tree.css"rel&quo…
GEMM性能提升200倍,AutoKernel算子优化工具正式开源
作者 | OPEN AI LAB 研究员 吕春莹出品 | AI科技大本营头图 | CSDN下载自视觉中国随着AI技术的快速发展,深度学习在各个领域得到了广泛应用。深度学习模型能否成功在终端落地应用,满足产品需求,一个关键的指标就是神经网络模型的推理性能。于…

MySQL的log_bin和sql_log_bin 到底有什么区别?
2019独角兽企业重金招聘Python工程师标准>>> log_bin:二进制日志。 二进制日志的作用: 1:数据恢复 如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了&a…
Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
功能:在textbox中输入内容,动态从数据库模糊查询显示到下拉框中,以供选择1.建立一aspx页面,html代码 <HTML><HEAD><title>WebForm1</title><SCRIPT language"javascript">//城市-------…
数据连接linux网络编程之TCP/IP基础(四):TCP连接的建立和断开、滑动窗口
在写这篇文章之前,xxx已经写过了几篇关于改数据连接主题的文章,想要了解的朋友可以去翻一下之前的文章 一、TCP段格式: TCP的段格式如下图所示 源端口号与目标端口号 源端口号和目标端口号,加上IP首部的源IP地址和目标IP地址唯一确定一个TCP连…
鲲鹏高校行太原站来袭,两大课程一站式掌握未来潮流
未来是算力比拼的时代,也是属于象牙塔中莘莘学子们的时代。北京时间12月14日,为了进一步培养计算产业人才,拓展鲲鹏产业生态影响力,由中北大学信息商务学院主办,山西鲲鹏生态创新中心承办的鲲鹏高校行系列活动在中北大…

R语言通过loess去除某个变量对数据的影响
当我们想研究不同sample的某个变量A之间的差异时,往往会因为其它一些变量B对该变量的固有影响,而影响不同sample变量A的比较,这个时候需要对sample变量A进行标准化之后才能进行比较。标准化的方法是对sample 的 A变量和B变量进行loess回归&am…
Ajax实现DataGrid/DataList动态ToolTip
1.建立一aspx页面,html代码2.cs代码 usingSystem.Data.SqlClient;usingSystem.IO;protectedvoidPage_Load(objectsender, EventArgs e) { if (!Page.IsPostBack) { BindData(); } if (ID ! "") …
语言模型自然语言处理[置顶] 哥伦比亚大学 自然语言处理 公开课 授课讲稿 翻译(四)...
每日一贴,今天的内容关键字为语言模型自然语言处理 媒介:灵机一动看了一个自然语言处理公开课,大牛柯林斯讲解的。认为很好,就自己动手把它的讲稿翻译成中文。一方面,希望通过这个翻译过程,让自己更加理解大牛的讲解内…

腾讯天衍实验室夺世界机器人大赛双冠军,新算法突破脑机接口瓶颈
日前,“2020世界机器人大赛-BCI脑控机器人大赛”公布成绩,腾讯天衍实验室和天津大学高忠科教授团队组成的C2Mind战队,经过多轮赛程的激烈比拼,实力入围BCI脑控机器人大赛“运动想象范式”赛题决赛,最终成功斩获技术赛“…

免费的私人代码托管(bitbucket) 和 常用git指令
转自 http://blog.csdn.net/nzing/article/details/24452475 今天想找个免费的私人代码托管平台,github,googlecode, SourceForge都不行,后来发现bitbucket(https://bitbucket.org/),注册时,如果不多于5个人…
Ajax简单示例之改变下拉框动态生成表格
1.建立一个aspx页面,html代码<html xmlns"http://www.w3.org/1999/xhtml"><head runat"server"><title>Untitled Page</title><script type"text/javascript">var xmlHttp; function createXML…

for语句内嵌例题与个人理解
例题1:画出一个高度为3的等腰三角形. 编写程序: #include<stdio.h> main() { int a,b,c,h; h3; \\h为高度,赋值常量3. for(a1;a<h;a) …

2020百度云秀最新成绩单,AI Cloud活跃客户数同比去年增长65%
12月17日,“ABC SUMMIT 2020百度云智峰会”在北京举行。大会以“智者先行”为主题,百度CTO王海峰展现了518新战略后百度智能云取得的最新成绩和产业智能化成果。“云智一体”成百度智能云独特的竞争力,在各行各业加快规模化落地。本届大会首次…

构建之法读后感part6
这个星期看完了构建之法的第六章,看了第六章之后了解到敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷 开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备…
Ajax实现无刷新三联动下拉框
1.html代码<HTML><HEAD><title>Ajax实现无刷新三联动下拉框</title><meta content"Microsoft Visual Studio .NET 7.1"name"GENERATOR"><meta content"C#"name"CODE_LANGUAGE"><meta content&…
用算法改造过的植物肉,有兴趣试试么?
来源 | HyperAI超神经责编 | 晋兆雨头图 | CSDN 下载自视觉中国本月初,麦当劳宣布,将于 2021 年推出植物肉全新产品线 McPlant,新品品类将包括汉堡、鸡肉替代品以及早餐三明治。事实上,麦当劳并不是尝试植物基产品的首家快餐店&am…

浅谈软件自动化集成测试的流程
浅谈自动化集成测试相信从事软件测试专业的同行很早就知道了自动化的测试技术,也许大家也很想知道具体的软件自动化具体的运行实施过程。本人学识尚欠,目前无法对综合的软件自动化的测试进行阐述,但是本人通过不同的书籍对软件自动化的集成测…

web聊天室总结
前言: 最近在写一个聊天室的项目,前端写了挺多的JS(function),导致有点懵比,出了BUG,也迟迟找不到。所以昨天把写过的代码总结了一下,写成博客。 项目背景 参考博客: http://www.cnblogs.com/alex3714/articles/533763…