可以实现例如通过应用程序操作google搜索,用户输入要搜索的内容,然后在google中搜索;可以自动点击网页上的按钮等功能
1. 加入对Microsoft Internet Controls的引用; 2. 加入对Microsoft HTML Object Library的引用;
(要引入Microsoft.mshtml.dll 地址是C:/Program Files/Microsoft.NET/Primary Interop Assemblies) 3. 通过mshtml.IHTMLDocument2、SHDocVw.InternetExplorer、SHDocVw.ShellWindowsClass获取当前打开的google搜索页面的IE窗口句柄; 4. 根据3返回的句柄,获得当前打开的google页面的mshtml.IHTMLDocument2对象; 5. 根据4返回的IHTMLDocument2对象,获得搜索输入框和提交按钮(可查看google页面源文件,确认输入框和提交按钮的类型和名字); 6. 在搜索输入框中输入要搜索的内容,并执行提交按钮的click动作即可进行搜索;
简单来说:
打开ie:
SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindowsClass(); object objFlags = 1; object objTargetFrameName = ""; object objPostData = ""; object objHeaders = ""; SHDocVw.InternetExplorer webBrowser1= (SHDocVw.InternetExplorer)shellWindows.Item(shellWindows.Count-1); webBrowser1.Navigate(“http://www.google.cn”, ref objFlags, ref objTargetFrameName, ref objPostData, ref objHeaders);
(可以简略点写:object c=null; myWeb.Navigate(" http://zhidao.baidu.com/ ",ref c,ref c,ref c,ref c); ) mshtml.IHTMLDocument2 htmlDoc = webBrowser1.Document as mshtml.IHTMLDocument2;
//...获取WebBroswer中的body代码 mshtml.HTMLDocumentClass doc=(mshtml.HTMLDocumentClass)myWeb.Document; mshtml.HTMLBody body=(mshtml.HTMLBody)docCC.body; string html=body.innerHTML.ToString(); //...如果里面有Form,要给里面的text填充信息 mshtml.IHTMLDocument2 doc2=(mshtml.IHTMLDocument2)myWeb.Document; mshtml.IHTMLElementCollection inputs; inputs=(mshtml.IHTMLElementCollection)doc2.all.tags("INPUT"); mshtml.IHTMLElement element=(mshtml.IHTMLElement)inputs.item("userName",0); mshtml.IHTMLInputElement inputElement=(mshtml.IHTMLInputElement)element; inputElement.value="填充信息"; //...要点击里面的某个按钮 mshtml.IHTMLDocument2 doc2=(mshtml.IHTMLDocument2)myWeb.Document; mshtml.IHTMLElementCollection inputs; inputs=(mshtml.IHTMLElementCollection)doc2.all.tags("INPUT"); mshtml.IHTMLElement element=(mshtml.IHTMLElement)inputs.item("SubmitBut",0); element.click();
1、根据元素ID获取元素的值。
比如要获取 这个标签里的src属性的值:
mshtml.IHTMLDocument2 doc2 = (mshtml.IHTMLDocument2)webBrowser1.Document; mshtml.IHTMLElement img = (mshtml.IHTMLElement)doc2.all.item("regimg", 0);
string imgUrl = (string)img.getAttribute("src");
2、填写表单,并确定
mshtml.IHTMLElement loginname = (mshtml.IHTMLElement)doc2.all.item("loginname", 0); mshtml.IHTMLElement loginPW = (mshtml.IHTMLElement)doc2.all.item("password", 0); mshtml.IHTMLElement loginBT = (mshtml.IHTMLElement)doc2.all.item("formsubmit", 0); mshtml.IHTMLElement loginYZ = (mshtml.IHTMLElement)doc2.all.item("regcode", 0); loginname.setAttribute("value", tbLoginName.Text); loginPW.setAttribute("value", tbLoginPassWord.Password); loginYZ.setAttribute("value", tbYZ.Text); loginBT.click();
3、获取源码
textBox1.Text = doc2.body.innerHTML;
4、执行JS
mshtml.IHTMLWindow2 win = (mshtml.IHTMLWindow2)doc2.parentWindow; win.execScript("changeRegImg()", "javascript");//使用JS
5、禁止JS,WPF下目前发现唯一适用的一种方法:
public void HideScriptErrors(WebBrowser wb, bool Hide) {
FieldInfo fiComWebBrowser = typeof(WebBrowser).GetField("_axIWebBrowser2", BindingFlags.Instance | BindingFlags.NonPublic);
if (fiComWebBrowser == null) return;
object objComWebBrowser = fiComWebBrowser.GetValue(wb);
if (objComWebBrowser == null) return;
objComWebBrowser.GetType().InvokeMember(
"Silent", BindingFlags.SetProperty, null, objComWebBrowser, new object[] { Hide });
}
void webBrowser1_Navigated(object sender, NavigationEventArgs e) {
HideScriptErrors(webBrowser1,
true);
}
下面是另外一遍博客里写的比较好的
#region Search public static void Search(string searchText) { SHDocVw.InternetExplorer ieWnd = GetIEWndOfGoogle(); mshtml.IHTMLDocument2 ieDoc = GetIEDocOfGoogle(ref ieWnd); System.Diagnostics.Trace.Assert(ieDoc != null); SearchTextInGoogle(ieDoc, searchText); //activate ie window SetForegroundWindow(ieWnd.HWND); } #endregion #region get ie window of google page public static SHDocVw.InternetExplorer GetIEWndOfGoogle() { mshtml.IHTMLDocument2 ieDoc; SHDocVw.InternetExplorer ieWnd = null; SHDocVw.ShellWindowsClass shellWindows = new SHDocVw.ShellWindowsClass(); foreach (SHDocVw.InternetExplorer ie in shellWindows) { //if it is ie window if (ie.FullName.ToUpper().IndexOf("IEXPLORE.EXE") > 0) { //get the document displayed ieDoc = (mshtml.IHTMLDocument2)ie.Document; if (ieDoc.title.ToUpper().IndexOf("GOOGLE") >= 0) { ieWnd = ie; break; } } } shellWindows = null; return ieWnd; } #endregion #region get ie document of google page public static mshtml.IHTMLDocument2 GetIEDocOfGoogle(ref SHDocVw.InternetExplorer ieWnd) { object missing = null; mshtml.IHTMLDocument2 ieDoc; if (ieWnd == null) { ieWnd = new SHDocVw.InternetExplorer(); ieWnd.Visible = true; ieWnd.Navigate("http://www.google.com", ref missing, ref missing, ref missing, ref missing); //wait for loading completed, or using DocumentComplete Event while (ieWnd.StatusText.IndexOf("完成") == -1) Application.DoEvents(); } ieDoc = (mshtml.IHTMLDocument2)ieWnd.Document; return ieDoc; } #endregion #region Search the given text in google ///// /// search the given text in google home page /// we can see the source file of google home page to confirm the elements we need /// the html file of google home page is as follows /// /// /// /// /// /// /// /// /// /// /// /// ... ///// public static void SearchTextInGoogle(mshtml.IHTMLDocument2 ieDoc, string searchText) { mshtml.HTMLInputElementClass input; //set the text to be searched foreach (mshtml.IHTMLElement ieElement in ieDoc.all) { //if its tag is input and name is q(question) if (ieElement.tagName.ToUpper().Equals("INPUT")) { input = ((mshtml.HTMLInputElementClass)ieElement); if (input.name == "q") { input.value = searchText; break; } } } //click the submit button to search foreach (mshtml.IHTMLElement ieElement in ieDoc.all) { //if its tag is input if (ieElement.tagName.ToUpper().Equals("INPUT")) { input = (mshtml.HTMLInputElementClass)ieElement; if (input.name == "btnG") { input.click(); break; } } } } #endregion
你可能感兴趣的:(C#.Net)
【进阶】C#.NET 处理瞬态故障 polly库 详解
我是唐青枫
Dotnet c# .net 开发语言
简介Polly是处理.NET应用中瞬态故障的强大工具,通过提供丰富的弹性策略,帮助开发者构建更健壮、更具弹性的应用程序。合理使用Polly可以显著提高应用在面对网络波动、服务临时不可用等问题时的稳定性。Polly核心策略详解Polly提供七种策略应对不同故障场景,均支持流畅API链式调用重试(Retry):短暂故障(如网络抖动)熔断(CircuitBreaker):持续故障避免系统过载超时(Tim
C#.NET log4net 详解
c#.net
简介log4net是.NET平台上非常成熟的日志组件,源自Java世界的log4j。它功能丰富、性能高、配置灵活,是企业应用中常见的日志框架之一。核心特点支持多种输出目标(Appender):文件、数据库、控制台、远程服务等支持多种格式化(Layout)支持按级别(Level)记录日志支持日志分类(Logger分组、命名空间隔离)配置灵活,可通过XML文件配置,也可通过代码配置支持异步日志、按文件
C#.NET NLog 详解
c#.net
简介NLog是.NET平台上最流行的开源日志框架之一,特色是灵活的配置、丰富的输出目标(Target),以及高性能的异步写入能力。适用场景:从控制台、文件、数据库、网络到ElasticSearch、Seq、AzureTableStorage等各种日志收集后端。支持文件、数据库(SQL/NoSQL)、控制台、邮件、Elasticsearch等50+内置目标,并可通过插件扩展原生兼容JSON格式,可输
C#.NET员工考勤系统源码解析与探讨
金融先生-Frank
本文还有配套的精品资源,点击获取简介:《C#.NET员工考勤系统源码解析与探讨》是一篇详细介绍C#.NET技术在构建员工考勤管理软件中的应用。文章涵盖了从基础知识点到高级功能实现的全面解析,并分享了源码,以便开发者能深入理解并运用C#.NET技术构建出高效的考勤系统。1.C#.NET基础应用1.1C#语言简介C#(发音为“看井”)是微软公司为了.NET平台创建的一种面向对象、类型安全的编程语言。它
C#.NET Ninject 详解
c#.net
简介Ninject是一个轻量级、易扩展的开源.NET依赖注入(DI)容器,适用于.NETFramework、.NETCore、Xamarin等多平台。设计目标:简单直观、可测试、高可扩展性,支持多种绑定策略和拦截器(AOP)。核心组件组件作用IKernel容器核心接口,负责所有绑定和解析;通常使用StandardKernel实例Module将相关绑定逻辑封装,按需加载Binding描述接口到实现的
C#.NET Newtonsoft.Json 详解
c#.net
简介Newtonsoft.Json(又称Json.NET)是.NET生态中最流行的JSON序列化/反序列化库,支持.NETFramework、.NETCore、Mono、Xamarin等多种平台。功能丰富:自动映射对象、LINQtoJSON、JSchema验证、自定义转换、性能可调等核心功能与基础使用序列化与反序列化usingNewtonsoft.Json;//模型类publicclassPers
C#.NET Autofac 详解
c#.net
简介Autofac是一个成熟的、功能丰富的.NET依赖注入(DI)容器。相比于内置容器,它额外提供:模块化注册、装饰器(Decorator)、拦截器(Interceptor)、强o的属性/方法注入支持、基于约定的程序集扫描等特性。核心组件ContainerBuilder:用于注册服务的构建器IContainer:服务容器,负责解析依赖ILifetimeScope:生命周期作用域,管理对象生命周期M
C#.NET 依赖注入详解
c#.net
简介在C#.NET中,依赖注入(DependencyInjection,简称DI)是一种设计模式,用于实现控制反转(InversionofControl,IoC),以降低代码耦合、提高可测试性和可维护性。依赖注入是将一个对象的依赖(即它所需的其他对象或服务)通过外部提供(注入)的方式传递给它,而不是由对象自身创建或查找依赖。其核心思想是将对象的创建和依赖管理交给容器(IoC容器),从而解耦代码。D
C#.NET SimpleInjector 详解
我是唐青枫
Dotnet c# .net
简介SimpleInjector是一个专注于高性能、易用性和可测试性的.NET依赖注入(DI)容器,支持.NETFramework、.NETCore、Xamarin等多平台。设计原则:简单、快速、可预测。它通过编译时及运行时验证帮助早发现配置错误,并力求将依赖解析的开销降到最低。核心特性:高性能:使用表达式树和编译器优化,解析速度快,接近手动构造。严格诊断:内置诊断工具,检测配置错误(如Capti
C#.NET 中间件详解
c#.net
简介中间件(Middleware)是ASP.NETCore的核心组件,用于处理HTTP请求和响应的管道机制。它是基于管道模型的轻量级、模块化设计,允许开发者在请求处理过程中插入自定义逻辑。中间件广泛应用于日志记录、认证授权、异常处理、路由等场景。定义:中间件是处理HTTP请求和响应的组件,位于服务器接收到请求到最终返回响应之间的“管道”中。作用:可用于身份认证、授权、日志、静态文件、异常处理、CO
C#.NET in、out、ref详解
c#.net
简介在C#中,in、ref和out是用于修改方法参数传递方式的关键字,它们决定了参数是按值传递还是按引用传递,以及参数是否必须在传递前初始化。基本语义对比修饰符传递方式可读写性必须初始化调用前必须赋值典型场景ref引用传递可读可写需先在调用前初始化是修改调用者变量;传大对象避免拷贝in只读引用传递只读(不能赋值)需先在调用前初始化是传递大值类型以避免拷贝out引用传递必须在方法体内赋值调用前可未初
C#.NET 依赖注入详解
我是唐青枫
Dotnet c# .net
简介在C#.NET中,依赖注入(DependencyInjection,简称DI)是一种设计模式,用于实现控制反转(InversionofControl,IoC),以降低代码耦合、提高可测试性和可维护性。依赖注入是将一个对象的依赖(即它所需的其他对象或服务)通过外部提供(注入)的方式传递给它,而不是由对象自身创建或查找依赖。其核心思想是将对象的创建和依赖管理交给容器(IoC容器),从而解耦代码。D
C#.NET HttpClient 使用教程
c#.net
简介HttpClient是.NET中用于发送HTTP请求和接收HTTP响应的现代化API,它取代了过时的WebClient和HttpWebRequest类。HttpClient是.NETFramework4.5+和.NETCore/.NET5+中提供的、基于消息处理管道(messagehandlerpipeline)的现代HTTP客户端库。相比早期的HttpWebRequest,它更易用、支持异步
从 LEADDocument 添加和删除页面 - C# .NET 6
sdk大全
LEADTOOLS 23 python linux windows LEADTOOLS SDK
从LEADDocument添加和删除页面-C#.NET6LEADDocument本教程介绍如何使用LEADTOOLSSDK在C#.NET控制台应用程序中添加和删除页面。概述概括本教程介绍如何在C#.NET控制台应用程序中DocumentPages修改。LEADDocument完成时间30分钟VisualStudio项目下载教程项目(1KB)平台C#.NET控制台应用程序集成开发环境VisualSt
C#.Net分类随笔列表
weixin_30730151
人工智能 c# 数据库
也说C#中的Immutablefox232008-07-2618:29阅读:646评论:8谁动了我的构造函数?AndyHai2008-07-2616:18阅读:643评论:6T-SQL跨库查询赤色火焰2008-07-1708:37阅读:122评论:3【原创】博客批量下载器V1.3(目前已支持新浪、百度、博客园)赤色火焰2008-07-1620:52阅读:640评论:6.NET面试题大全米虫2008
ORM框架-VB/C#.Net实体代码生成工具(EntitysCodeGenerate)【ECG】4.5
chutao
.Net ORM框架
摘要:VB/C#.Net实体代码生成工具(EntitysCodeGenerate)【ECG】是一款专门为.Net数据库程序开发量身定做的(ORM框架)代码生成工具,所生成的程序代码基于OO、ADO.NET、分层架构、ORM及反射+工厂设计模式等。支持.Net1.1及以上版本,可用于Oracle、SqlServer、Sybase、DB2、MySQL、Access、SQLite、PostgreSQL、
ORM框架-VB/C#.Net实体代码生成工具(EntitysCodeGenerate)【ECG 4.2】的相关使用
chutao
工具 orm 框架 dataset 数据库 dst
1引言目前大多数项目或产品都使用关系型数据库实现业务数据的存储,这样在开发过程中,常常有一些业务逻辑需要直接用写SQL语句实现,但这样开发的结果是:遍地布满SQL语句。这些藕合较高的SQL语句给系统的改造和升级带来很多无法预计的障碍。或者说可以使用服务端数据库存储子程序实现,但只是将这种耦合搬迁到后端,问题依然没有根本解决,服务端驻留过多的存储子程序也消耗着服务器的性能并给多人合作维护和更新部署带
C#.NET高级笔试题 架构 优化 性能提升 2024 金九银十 最新 资深 八股文
云草桑
C# 面试 .net c# .net 架构 net高级面试 高级开发
C#.NET高级笔试题架构优化性能提升2024金九银十最新资深八股文有坑哦题库目录1.C#中Params是什么含义?有何用途?2.如何提高.NET的性能?3.说说对http301、302、303,304、400、405、415状态码的认识;4.请使用C#的相关知识,封装一个泛型的数据库访问查询方法;5.什么是异步编程?6.什么是并行编程(ParallelProgramming)?在.NET中如何实
C#.NET:高级编程之匿名类、匿名方法与扩展方法
上海好程序员
成长的程序员
转载,来源http://www.cnblogs.com/edisonchou/p/4088959.html[文中插图丢失,推荐查看原文]!important.NET中那些所谓的新语法之二:匿名类、匿名方法与扩展方法开篇:在上一篇中,我们了解了自动属性、隐式类型、自动初始化器等所谓的新语法,这一篇我们继续征程,看看匿名类、匿名方法以及常用的扩展方法。虽然,都是很常见的东西,但是未必我们都明白其中蕴含
【C#】C# .NET中的Func、Predicate和Expression详解
厦门德仔
WebApi MVC&Core c# Func Predicate Expression
在C#.NET中,Func、Predicate和Expression是三种常用的委托和表达式类型,它们在编写灵活、可重用的代码时非常有用。本文将详细介绍这三种类型,并提供多个实例来说明它们的用法和区别。1.FuncFunc是一个通用委托,它可以接受零个或多个输入参数,并返回一个值。其基本形式为:publicdelegateTResultFunc()
C#定时调用方法实现
Faitheshy
c#
定时调用方法实现一、C#.net框架怎么在固定时间点调用方法在C#/.NET框架中,你可以使用定时器或计划任务来在固定时间点调用方法。下面是两种常用的方法:使用System.Timers.TimerusingSystem;usingSystem.Timers;classProgram{staticvoidMain(){//创建一个定时器,设置间隔时间为一天(24小时)Timertimer=newT
dotnet LINQ 使用简明教程
c#.net
简介语言集成查询(LINQ)是一组强大的技术,它将查询功能直接集成到c#语言中。LINQ查询是c#.net中的一等语言结构,就像类、方法、事件一样。LINQ为查询对象(LINQtoobjects)、关系数据库(LINQtoSQL)和XML(LINQtoXML)提供了一致的查询体验。查询语法LINQ提供两种语法:查询表达式语法(类似SQL)方法链式语法(基于扩展方法)查询表达式语法示例int[]nu
609SJBH基于Web的企业商贸管理系统的设计与实现
2540546520
毕业论文 Web开发 毕业设计 数据库 毕业设计 毕业论文 web
第三章系统需求分析3.1系统可行性分析系统的可行性分析主要是技术可行性,经济可行性,操作可行性[27]。技术条件可行性:Microsoft.NET解决方案,是目前比较流行的解决方案,技术成熟,以此方案开发的应用系统具有开发周期短,运行稳定,维护简便,投资少等优点。.NET允许用户使用有很大选择余地的、功能完善的开发语言,为Web应用提供高度的可扩展性和高可靠性。C#.NET与SQLServer的架
Spread.NET 18.0 支持.NET9.0 Crack
sdk大全
Spread.NET Spread.NET
Spread.NET全球销量第一的C#.NET电子表格,包含500多个Excel函数在C#.NET中提供真正类似Excel的电子表格体验,且不依赖Excel。创建财务、预算/预测、科学、工程、医疗保健、保险、教育、制造和许多其他类似的业务应用程序。使用全面的API创建企业电子表格、高级网格、仪表板、报告和数据输入表单递送类似Excel的电子表格经验,快速利用强大的高速计算引擎完成最复杂的计算导入和
C#.NET Core 笔试题 架构 优化 性能提升 2024 金九银十 最新 资深 八股文-CSDN博客
云草桑
.net C# 面试 .net C# .net core 面试题 金九银十
想创业的老板们看这里C#.net.NETCore最新题库会这些高级开发是没什么问题十多年一线开发观察。。C#.NET基础笔试题架构优化性能提升2024金九银十最新资深八股文-CSDN博客C#.NET高级笔试题架构优化性能提升2024金九银十最新资深八股文-CSDN博客MySQL面试题2024金九银十最新C#高级资深DB八股文-CSDN博客国产精品ORM框架-SqlSugar详解SqlSugar初识
C#面:.NET中所有类型的基类是什么
那个那个鱼
C#面试题 c# c# 开发语言 .net
System.Object是C#.NET中所有类型的基类,它提供了一些通用的方法和属性,以及对象的类型信息和引用比较等功能。例如:System.ObjectToString(),Equals(),GetHashCode()等。由于所有类型都继承自System.Object,因此可以在任何对象上调用这些方法。System.Object还定义了一些其他重要的成员,例如GetType()方法,用于获取对
CAD二次开发c#.Net编程 - 工具类集合
独饮一杯蓝茶
CAD c# c#
创建新图层publicstaticvoidCreateLayer(stringLayerName){DocumentacDoc=Application.DocumentManager.MdiActiveDocument;DatabaseacCurDb=acDoc.Database;//获取当前数据库using(TransactionacTrans=acCurDb.TransactionManage
CAD二次开发&C#.Net编程-CAD创建右键菜单
独饮一杯蓝茶
CAD c# c# .net cad
CAD二次开发&C#.Net编程—CAD创建右键菜单privatestaticContextMenuExtensionm_ContextMenu;//装载右键菜单publicstaticvoidAttach(){//右键菜单对象m_ContextMenu=newContextMenuExtension();m_ContextMenu.Title="修改";//右键菜单项及其事件MenuItemMe
Bug地狱 #1 突然宕机,企业级应用到底怎么了
gclhaha
代码之路 软件工程
Bug地狱#1突然宕机,企业级应用到底怎么了背景目前就职的企业经营是一家服务小微门店Saas企业,以进销存管理和客户营销为主体提供订阅服务。项目正式上线可以说是从13年,基础架构是Web和后端使用C#.net,数据库使用SQLServer。这时公司业务正好遇到中国Saas的顶峰,业务不断增长,但是系统宕机的问题一直出现,甚至周末节假日在户外也要oncall,拿出电脑解决问题。第一次重构前后端分离首
unity占内存大小_Unity3D占用内存太大怎么解决呢
追月的Cc
unity占内存大小
Unity3D占用内存太大怎么解决呢尽管都叫Asset,但仿制的和引证的是不一样的,这点被Unity的暗黑技术细节掩盖了,需求自己去了解。关于内存办理依照传统的编程思想,最好的办法是:自己保护一切目标,用一个Queue来保存一切object,不必时该Destory的,该Unload的自己处理。但这样在C#.net结构底下有点没必要,而且很费事。保险起见你能够这样办理创立时:先树立一个AssetBu
jsonp 常用util方法
hw1287789687
jsonp jsonp常用方法 jsonp callback
jsonp 常用java方法
(1)以jsonp的形式返回:函数名(json字符串)
/***
* 用于jsonp调用
* @param map : 用于构造json数据
* @param callback : 回调的javascript方法名
* @param filters : <code>SimpleBeanPropertyFilter theFilt
多线程场景
alafqq
多线程
0
能不能简单描述一下你在java web开发中需要用到多线程编程的场景?0
对多线程有些了解,但是不太清楚具体的应用场景,能简单说一下你遇到的多线程编程的场景吗?
Java多线程
2012年11月23日 15:41 Young9007 Young9007
4
0 0 4
Comment添加评论关注(2)
3个答案 按时间排序 按投票排序
0
0
最典型的如:
1、
Maven学习——修改Maven的本地仓库路径
Kai_Ge
maven
安装Maven后我们会在用户目录下发现.m2 文件夹。默认情况下,该文件夹下放置了Maven本地仓库.m2/repository。所有的Maven构件(artifact)都被存储到该仓库中,以方便重用。但是windows用户的操作系统都安装在C盘,把Maven仓库放到C盘是很危险的,为此我们需要修改Maven的本地仓库路径。
placeholder的浏览器兼容
120153216
placeholder
【前言】
自从html5引入placeholder后,问题就来了,
不支持html5的浏览器也先有这样的效果,
各种兼容,之前考虑,今天测试人员逮住不放,
想了个解决办法,看样子还行,记录一下。
【原理】
不使用placeholder,而是模拟placeholder的效果,
大概就是用focus和focusout效果。
【代码】
<scrip
debian_用iso文件创建本地apt源
2002wmj
Debian
1.将N个debian-506-amd64-DVD-N.iso存放于本地或其他媒介内,本例是放在本机/iso/目录下
2.创建N个挂载点目录
如下:
debian:~#mkdir –r /media/dvd1
debian:~#mkdir –r /media/dvd2
debian:~#mkdir –r /media/dvd3
….
debian:~#mkdir –r /media
SQLSERVER耗时最长的SQL
357029540
SQL Server
对于DBA来说,经常要知道存储过程的某些信息:
1. 执行了多少次
2. 执行的执行计划如何
3. 执行的平均读写如何
4. 执行平均需要多少时间
列名 &
com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil
7454103
eclipse
今天eclipse突然报了com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil 错误,并且工程文件打不开了,在网上找了一下资料,然后按照方法操作了一遍,好了,解决方法如下:
错误提示信息:
An error has occurred.See error log for more details.
Reason:
com/genuitec/
用正则删除文本中的html标签
adminjun
java html 正则表达式 去掉html标签
使用文本编辑器录入文章存入数据中的文本是HTML标签格式,由于业务需要对HTML标签进行去除只保留纯净的文本内容,于是乎Java实现自动过滤。
如下:
public static String Html2Text(String inputString) {
String htmlStr = inputString; // 含html标签的字符串
String textSt
嵌入式系统设计中常用总线和接口
aijuans
linux 基础
嵌入式系统设计中常用总线和接口
任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与CPU直接连接,那么连线
Java函数调用方式——按值传递
ayaoxinchao
java 按值传递 对象 基础数据类型
Java使用按值传递的函数调用方式,这往往使我感到迷惑。因为在基础数据类型和对象的传递上,我就会纠结于到底是按值传递,还是按引用传递。其实经过学习,Java在任何地方,都一直发挥着按值传递的本色。
首先,让我们看一看基础数据类型是如何按值传递的。
public static void main(String[] args) {
int a = 2;
ios音量线性下降
bewithme
ios音量
直接上代码吧
//second 几秒内下降为0
- (void)reduceVolume:(int)second {
KGVoicePlayer *player = [KGVoicePlayer defaultPlayer];
if (!_flag) {
_tempVolume = player.volume;
与其怨它不如爱它
bijian1013
选择 理想 职业 规划
抱怨工作是年轻人的常态,但爱工作才是积极的心态,与其怨它不如爱它。
一般来说,在公司干了一两年后,不少年轻人容易产生怨言,除了具体的埋怨公司“扭门”,埋怨上司无能以外,也有许多人是因为根本不爱自已的那份工作,工作完全成了谋生的手段,跟自已的性格、专业、爱好都相差甚远。
一边时间不够用一边浪费时间
bingyingao
工作 时间 浪费
一方面感觉时间严重不够用,另一方面又在不停的浪费时间。
每一个周末,晚上熬夜看电影到凌晨一点,早上起不来一直睡到10点钟,10点钟起床,吃饭后玩手机到下午一点。
精神还是很差,下午像一直野鬼在城市里晃荡。
为何不尝试晚上10点钟就睡,早上7点就起,时间完全是一样的,把看电影的时间换到早上,精神好,气色好,一天好状态。
控制让自己周末早睡早起,你就成功了一半。
有多少个工作
【Scala八】Scala核心二:隐式转换
bit1129
scala
Implicits work like this: if you call a method on a Scala object, and the Scala compiler does not see a definition for that method in the class definition for that object, the compiler will try to con
sudoku slover in Haskell (2)
bookjovi
haskell sudoku
继续精简haskell版的sudoku程序,稍微改了一下,这次用了8行,同时性能也提高了很多,对每个空格的所有解不是通过尝试算出来的,而是直接得出。
board = [0,3,4,1,7,0,5,0,0,
0,6,0,0,0,8,3,0,1,
7,0,0,3,0,0,0,0,6,
5,0,0,6,4,0,8,0,7,
Java-Collections Framework学习与总结-HashSet和LinkedHashSet
BrokenDreams
linkedhashset
本篇总结一下两个常用的集合类HashSet和LinkedHashSet。
它们都实现了相同接口java.util.Set。Set表示一种元素无序且不可重复的集合;之前总结过的java.util.List表示一种元素可重复且有序
读《研磨设计模式》-代码笔记-备忘录模式-Memento
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
/*
* 备忘录模式的功能是,在不破坏封装性的前提下,捕获一个对象的内部状态,并在对象之外保存这个状态,为以后的状态恢复作“备忘”
《RAW格式照片处理专业技法》笔记
cherishLC
PS
注意,这不是教程!仅记录楼主之前不太了解的
一、色彩(空间)管理
作者建议采用ProRGB(色域最广),但camera raw中设为ProRGB,而PS中则在ProRGB的基础上,将gamma值设为了1.8(更符合人眼)
注意:bridge、camera raw怎么设置显示、输出的颜色都是正确的(会读取文件内的颜色配置文件),但用PS输出jpg文件时,必须先用Edit->conv
使用 Git 下载 Spring 源码 编译 for Eclipse
crabdave
eclipse
使用 Git 下载 Spring 源码 编译 for Eclipse
1、安装gradle,下载 http://www.gradle.org/downloads
配置环境变量GRADLE_HOME,配置PATH %GRADLE_HOME%/bin,cmd,gradle -v
2、spring4 用jdk8 下载 https://jdk8.java.
mysql连接拒绝问题
daizj
mysql 登录权限
mysql中在其它机器连接mysql服务器时报错问题汇总
一、[running]
[email protected] :~$mysql -uroot -h 192.168.9.108 -p //带-p参数,在下一步进行密码输入
Enter password: //无字符串输入
ERROR 1045 (28000): Access
Google Chrome 为何打压 H.264
dsjt
apple html5 chrome Google
Google 今天在 Chromium 官方博客宣布由于 H.264 编解码器并非开放标准,Chrome 将在几个月后正式停止对 H.264 视频解码的支持,全面采用开放的 WebM 和 Theora 格式。
Google 在博客上表示,自从 WebM 视频编解码器推出以后,在性能、厂商支持以及独立性方面已经取得了很大的进步,为了与 Chromium 现有支持的編解码器保持一致,Chrome
yii 获取控制器名 和方法名
dcj3sjt126com
yii framework
1. 获取控制器名
在控制器中获取控制器名: $name = $this->getId();
在视图中获取控制器名: $name = Yii::app()->controller->id;
2. 获取动作名
在控制器beforeAction()回调函数中获取动作名: $name =
Android知识总结(二)
come_for_dream
android
明天要考试了,速速总结如下
1、Activity的启动模式
standard:每次调用Activity的时候都创建一个(可以有多个相同的实例,也允许多个相同Activity叠加。)
singleTop:可以有多个实例,但是不允许多个相同Activity叠加。即,如果Ac
高洛峰收徒第二期:寻找未来的“技术大牛” ——折腾一年,奖励20万元
gcq511120594
工作 项目管理
高洛峰,兄弟连IT教育合伙人、猿代码创始人、PHP培训第一人、《细说PHP》作者、软件开发工程师、《IT峰播》主创人、PHP讲师的鼻祖!
首期现在的进程刚刚过半,徒弟们真的很棒,人品都没的说,团结互助,学习刻苦,工作认真积极,灵活上进。我几乎会把他们全部留下来,现在已有一多半安排了实际的工作,并取得了很好的成绩。等他们出徒之日,凭他们的能力一定能够拿到高薪,而且我还承诺过一个徒弟,当他拿到大学毕
linux expect
heipark
expect
1. 创建、编辑文件go.sh
#!/usr/bin/expect
spawn sudo su admin
expect "*password*" { send "13456\r\n" }
interact
2. 设置权限
chmod u+x go.sh 3.
Spring4.1新特性——静态资源处理增强
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
idea ubuntuxia 乱码
liyonghui160com
1.首先需要在windows字体目录下或者其它地方找到simsun.ttf 这个 字体文件。
2.在ubuntu 下可以执行下面操作安装该字体:
sudo mkdir /usr/share/fonts/truetype/simsun
sudo cp simsun.ttf /usr/share/fonts/truetype/simsun
fc-cache -f -v
改良程序的11技巧
pda158
技巧
有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。
让我们看一些基本的编程技巧:
尽量保持方法简短
永远永远不要把同一个变量用于多个不同的
300个涵盖IT各方面的免费资源(下)——工作与学习篇
shoothao
创业 免费资源 学习课程 远程工作
工作与生产效率:
A. 背景声音
Noisli:背景噪音与颜色生成器。
Noizio:环境声均衡器。
Defonic:世界上任何的声响都可混合成美丽的旋律。
Designers.mx:设计者为设计者所准备的播放列表。
Coffitivity:这里的声音就像咖啡馆里放的一样。
B. 避免注意力分散
Self Co
深入浅出RPC
uule
rpc
深入浅出RPC-浅出篇
深入浅出RPC-深入篇
RPC
Remote Procedure Call Protocol
远程过程调用协议
它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发