system

C#禁止程序重复打开

烈酒焚心 提交于 2020-04-01 04:29:02
禁止程序被打开两次方法 方法一:亲测可用 在项目的第一个窗体的启动事件中 如form1_load() 中添加如下语句 //判断是否重复打开 public void check(object sender, EventArgs e) { System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcessesByName("WMS_RFID");//获取指定的进程名 if (myProcesses.Length > 1) //如果可以获取到知道的进程名则说明已经启动 { MessageBox.Show("程序已启动!"); Application.Exit(); //关闭系统 } } ==================================================================================================================== 方法二 :未测试 在项目的启动引导文件 Program.cs中加入判断语句 using System.Linq; using System.Windows.Forms; namespace XiaoZhiSoft { static class Program { ///

【Wince-禁止重复启动程序】Wince 不重复启动程序

喜夏-厌秋 提交于 2020-04-01 04:28:23
创建类Mutex.cs: using System; using System.Linq; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace Demo { public class Mutex { [DllImport("coredll.dll", EntryPoint = "CreateMutex", SetLastError = true)] public static extern IntPtr CreateMutex( IntPtr lpMutexAttributes, bool InitialOwner, string MutexName); [DllImport("coredll.dll", EntryPoint = "ReleaseMutex", SetLastError = true)] public static extern bool ReleaseMutex(IntPtr hMutex); private const int ERROR_ALREADY_EXISTS = 0183; /// <summary> /// 判断程序是否已经运行 /// </summary> /// <returns> ///

蛙蛙推荐:一键定位CPU百分百问题

痞子三分冷 提交于 2020-03-30 21:19:24
摘要: 当一个.net应用在生产环境CPU突然居高不下,如何快速准确的定位问题所在,并且对实时业务影响最小化?如何不抓Dump也不用live debug就可以知道你的应用在做什么?如何确认你的应用是由于哪个线程的执行造成的CPU升高,该线程正在执行什么代码? 分析: CPU升高的原因有很多, 1、有时候应用的负载大了,CPU自然会受业务请求的增加和增高; 2、有时候因为GC回收使用了过高的CPU资源; 3、有时候是某个线程执行的代码在某种情况下陷入了死循环; 4、有时候是因为锁争用太激烈,某资源上的锁释放后,等待的线程去抢锁引起的; 5、有时候是因为线程太多,上下文切换太频繁引起的。 6、每秒抛出太多的Exception。 我们一一分析 1、我们一般会用一些计数器来观察实际的应用的负载情况和并发请求量,比如每秒接受多少请求等,所以业务量增大引起的CPU高,很容易确定。 2、GC使用的CPU百分比有专门的计数器,一看便知。 3、如果某段代码陷入了死循环引起的CPU高,只抓Dump看~*e!clrstack和!runaway还是不太好定位问题, a)、一般都是连续抓几个dump,然后用!runaway来看哪些线程的用户态时间的差很大,然后再去看该线程的调用栈。 b)、录制Thread\Thread Id和Thread\% Processor Time计数器,同时抓dump

Java编程思想学习杂记(1-4章)

帅比萌擦擦* 提交于 2020-03-30 19:42:49
程序流程控制 移位运算符 移位运算符面向的运算对象是二进制的位,可单独用它们处理整数类型。左移位运算符(<<)能将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补0)。“有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。Java也添加了一种“无符号”右移位运算符(>>>),它使用“零扩展”:无论正负,都在高位插入0。若对char, byte或者short进行移位处理,那么在移位进行之前,它们会自动转换成一个int。只用右侧的5个低位才会用到。这样可防止我们在一个int数里移动一个不切实际的位数。若对一个long值进行移位,最后得到的结果也是long型。此时只会用到右侧6个低位,防止移动超过long值现成的位数。但在进行“无符号”右移位时,也可能遇到一个问题,若对byte和short值进行又移位运算,得到的可能不是正确的结果。它们会自动转换成int类型,并进行右移位。但“零扩展”不会发生,所以在那些情况下会得到-1的结果。 移位可与等号(<<=或>>=或>>>=)组合使用。此时,运算符左边的值会移动由右边的值指定的位数,再将得到的结果赋值回左边的值。 public class Test { public static void main(String[] args) { int i = 8; i >>= 2; System.out

react 中的this.props.children

江枫思渺然 提交于 2020-03-30 19:31:38
来看示例 我在Login自定义组件中引入了自定义组件system import React, { Component } from 'react'; import SYSTEM from './system' export default class Login extends Component{ constructor(props){ super(props) this.state={ } } render(){ return ( <div> <SYSTEM name="第一">天</SYSTEM> <SYSTEM name="第二">下</SYSTEM> <SYSTEM name="第三">第</SYSTEM> <SYSTEM name="第四">一</SYSTEM> </div> ) } } 然后我在自定义组件system中打印this.props,发现this.props.children原来是写在标签中间的内容 来源: https://www.cnblogs.com/tlfe/p/12600157.html

c# 入门第一课 命名空间

纵饮孤独 提交于 2020-03-30 18:50:19
选择 c# 里 的 控制台应用程序 起名字为demo0330 会自动生成一个Program.cs 文件 在解决方案资源管理器里右键点击添加一个类,命名为MyClass.cs using System;// using 是关键字,代表把命名空间导进来 System是命名空间 using System.Collections.Generic; using System.Linq; using System.Text; namespace demo033001 //namespace 是申明命名空间关键字 { class Myclass { } } //定义一个命名空间 //小明 三年一班 //小明 四年二班 // 三年一班 四年二班 命名空间 //小明 是命名空间下面的抽象模型 也就是类 namespace ClassTreeOne { class XiaoMing { public void age() { Console.WriteLine("我是三年一班的小明10岁"); Console.ReadKey(); } } } namespace ClassFourTwo { class XiaoMing { public void age() { Console.WriteLine("我是四年二班的小明11岁"); Console.ReadKey(); } } } 在Program

[转帖]安装HANA数据库

爱⌒轻易说出口 提交于 2020-03-30 06:51:03
安装数据库 https://support.huawei.com/enterprise/zh/doc/EDOC1100082491/bc8e25fe 以root用户名登录服务器,打开“Terminal”窗口。 执行 cd 命令切换目录到SAP HANA数据库软件拷贝所在的目录下面,本例是“cd /hana/shared/hana2.0”。 执行 chmod +x * 命令,增加可执行权限。 hw00001:/hana/shared/hana2.0 # chmod +x * 执行 ./SAPCAR_816-80000935.EXE -manifest SIGNATURE.SMF -xvf IMDB_SERVER20_020_0-80002031.SAR 命令解压数据库文件(SAPCAR和IMDB_SERVER的具体版本根据实际需求安装),得到一个 SAP_HANA_DATABASE 目录以及“SIGNATURE.SMF”文件夹。 hw00001:/hana/shared/hana2.0 # ./SAPCAR_816-80000935.EXE -manifest SIGNATURE.SMF -xvf IMDB_SERVER20_020_0-80002031.SAR 执行命令 cp SIGNATURE.SMF SAP_HANA_DATABASE/ 把解压生成的校验文件

StringBuilder.AppendFormat(String, Object, Object) 方法

爷,独闯天下 提交于 2020-03-30 05:57:15
将通过处理复合格式字符串(包含零个或零个以上格式项)返回的字符串追加到此实例。 每个格式项都替换为这两个参数中任意一个参数的字符串表示形式。 说明: public StringBuilder AppendFormat( string format, Object arg0, Object arg1 ) 参数 format 类型: System . String 符合格式字符串(参见“备注”)。 arg0 类型: System . Object 要设置格式的第一个对象。 arg1 类型: System . Object 要设置格式的第二个对象。 返回值 类型: System.Text . StringBuilder 对追加了 format 的此实例的引用。 format 中的每个格式项都替换为相应对象参数的字符串表示形式。 案例: using System; using System.Text; using System.Globalization; class Sample { static StringBuilder sb = new StringBuilder(); public static void Main() { int var1 = 111; float var2 = 2.22F; string var3 = "abcd"; object[] var4 = {3, 4

求一个数字的每位上的数字并求和

。_饼干妹妹 提交于 2020-03-30 02:34:00
1.程序设计思想 ① 在main函数中先提示用户输入一个位数小于10的数字。 ② 定义长度为10的数组存放所输入整数的每一位上的数字。 ③ 利用循环判断数字为几位数,并同时取到每一位上的数字。可以利用number%10取到最后一位上的数字存放在数组中,利用计数器计算位数,number/10语句可以抹掉最后一位上的数字。 ④ 利用循环倒序输出为把每一位上数字按从高到低输出到屏幕。 ⑤ 利用循环计算每一位数字的和,并在屏幕上显示。 2.程序流程图 3.程序源代码 import java.util.Scanner; public class Calculate { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("请输入数字(位数小于等于10):"); Scanner input=new Scanner(System.in); int number=input.nextInt();//用户输入整数 int num[]=new int[10];//定义数组来储存每一位数字 Fangfa F=new Fangfa(); F.judge(number, num);//调用方法判断是几位数 } } public

20.面向对象-----多态性

痴心易碎 提交于 2020-03-29 15:44:46
一、多态性的理解   一个事物的多种形态。 二、对象的多态性   父类的引用指向子类的对象。 例如: Person p = new Man();//Man是Person的子类 Object obj = new Date(); 说明:    Java引用变量有两个类型:编译时类型和运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。简称:编译时,看左边;运行时,看右边。如果编译时的类型和运行时的类型不一致,就出现了对象的多态性。 举例: public class test { public static void main(String[] args) { Animal animal = new Cat(); //实际执行的是子类重写后的eat() animal.eat(); } } class Animal{ String name; int age; public void eat(){ System.out.println("动物进食"); } } class Cat extends Animal{ public void eat(){ String ability; System.out.println("猫类进食"); } } 三、虚拟方法调用   子类继承父类以后,对父类中的方法进行类重写。实例化父类的引用执行子类的对象(多态性)