双击运行的jar包

让jar包可以双击运行,其实很简单

1.写一个manifest.mf文件,里面只有两行
第一行为Main-Class
第二行为空行
注意冒号后面有一个空格

Main-Class: YourClassName

2.用jar命令打包

jar -cvfm xxx.jar xxx.mf classfiles

3.然后就可以运行了

要注意,双击运行jar包时,
系统会调用javaw而不是java,
因此命令行输出是看不到的。

Windows下以兼容模式启动EXE

有两种常用的方式,可以让Windows可以以兼容模式启动EXE程序。

方法1、修改注册表,永久模式(右键-》属性-》兼容模式,也是通过修改注册表达到兼容模式启动EXE的)
A、以WINXPSP3兼容模式,注册表命令行

reg.exe Add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "PATH_TO_EXE" /d "WINXPSP3"

B、以WINXPSP3兼容模式,注册表文件

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"PATH_TO_EXE"="WINXPSP3"

方法2、设置环境变量,单次运行

#注意:__COMPAT_LAYER前面是两个下划线
#两个LayerName之间用空格隔开
#!表示不可以使用该兼容模式
set __COMPAT_LAYER=[!]LayerName1 [LayerName2 ...]

#用WinXPsp3兼容模式启动程序
set __COMPAT_LAYER=WINXPSP3

#用WinXPsp3兼容模式启动程序,并禁用主题
set __COMPAT_LAYER=WINXPSP3 DISABLETHEMES

#以管理员身份、用WinXPsp3兼容模式启动程序,并禁用主题
set __COMPAT_LAYER=WINXPSP3 DISABLETHEMES RUNASADMIN

#禁用兼容模式
set __COMPAT_LAYER=

可用的设置选项有:

LayerName 含义
兼容模式(Compatibility Modes)
WIN95 Windows 95
WIN98 Windows 98
WIN4SP5 Windows NT 4.0 SP5
WIN2000 Windows 2000
WINXPSP2 Windows XP SP2
WINXPSP3 Windows XP SP3
VISTARTM Vista
VISTASP1 Vista SP1
VISTASP2 Vista SP2
WIN7RTM Windows 7
WINSRV03SP1 Windows Server 2003 SP1
WINSRV08SP1 Windows Server 2008 SP1
显示设置(Display Settings)
DISABLETHEMES 禁用主题
640X480 以640×480分辨率进行
HIGHDPIAWARE 高DPI设置时,禁用显示缩放
256COLOR 以256色运行
DISABLEDWM 禁用桌面组合
权限设置(Privilege Level)
RUNASADMIN 管理员权限运行EXE
RUNASINVOKER 以调用者权限运行EXE
RUNASHIGHEST 以用户最高权限运行EXE
Win8
ELEVATECREATEPROCESS 子进程将获取一个UAC提升权限对话框
PINDLL DLL内存常驻
DISABLEUSERCALLBACKEXCEPTION 禁用用户回调异常
VIRTUALIZEDELETE 该模式拦截受保护文件上的删除操作,防止应用由于未处理删除操作中的异常而失败
WRPMITIGATION 当应用尝试写入、修改或删除Windows受保护文件或注册表项时,该模式返回成功(实际上没有完成该操作)
DXMAXIMIZEDWINDOWEDMODE 该模式标识进入全屏模式的应用并指将这些应用重定向到最大化Window模式

CMD常用命令03Windows实用命令

1.Tasklist

作用: 显示当前运行在本地或远程计算机上的应用程序、服务以及进程 ID (PID) 的列表

语法:TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]

参数列表:
  /S   system          指定连接到的远程系统。
  /U   [domain/]user   指定应该在哪个用户上下文执行这个命令。
  /P   [password]      为提供的用户上下文指定密码。如果忽略,提示输入。
  /M   [module]        列出所有其中符合指定模式名的DLL模块的所有任务。如果没有指定模块名,则显示每个任务加载的所有模块
  /SVC                 显示每个进程中的服务。
  /V                   指定要显示详述信息。
  /FO   format         指定输出格式。有效值: "TABLE"、"LIST"、"CSV"。
  /NH                  指定栏标头不应该在输出中显示。只对 "TABLE" 和 "CSV" 格式有效。
  /?                   显示帮助/用法。

列出了系统的进程,包括PID,内存使用大小.
加上了参数/svc ,这样就列出了每个进程所调用的服务

2.Taskkill

作用:结束一个或多个任务或进程。可以根据进程 ID 或图像名来结束进程。

语法:TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]

参数列表:
  /S   system          指定要连接到的远程系统。
  /U   [domain/]user   指定应该在哪个用户上下文执行这个命令。
  /P   [password]      为提供的用户上下文指定密码。如果忽略,提示输入。
  /F                   指定要强行终止进程。
  /PID process id      指定要终止的进程的PID。
  /IM   image name     指定要终止的进程的图像名。通配符 '*'可用来指定所有图像名。
  /T                   终止指定的进程和任何由此启动的子进程。
  /?                   显示帮助/用法。

3.Ntsd

第一步:打开进程管理器窗口,找到进程PID
第二步:输入ntsd -c q -p PID回车即可终止该进程。
只有System、SMSS.EXE和CSRSS.EXE进程不能被该命令杀死。前两个是纯内核态的,最后那个是Win32子系统,ntsd本身需要它。

4.ping

用来检测一帧数据从当前主机传送到目的主机所需要的时间

ping命令的格式如下:
ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-scount] [[-j host-list] | [-k host-list]] [-w timeout] destination-list

其中的参数说明如下:
-t 使当前主机不断地向目的主机发送数据,直到使用Ctrl-C中断;
-a 以IP地址格式(不是主机名形式)显示网络地址;
-n count 指定要做多少次ping,其中count为正整数值;
-l size 发送的数据包的大小; -f 设置回声分组不会由中间网关分组;
-i TTL 指定ping分组时限域,TTL是指在停止到达的地址前应经过多少个网关;
-v TOS 服务的类型; -r count 指出要记录路由的轮数(去和回);
-s count 指定当使用-r参数时,用于每一轮路由的时间;
-j host-list 指定希望分组的路由;
-k host-list 与-j参数基本相同,只是不能使用额外的主机;
-w timeout 指定超时时间间隔(单位为毫秒),缺省为1000;

一般我们使用得较多的参数为-t、-n、-w。 

5.ipconfig

用来显示主机内IP协议的配置信息。

ipconfig的命令格式如下:
ipconfig [/? | /all | /release [adapter] | /renew [adapter]]

其中的参数说明如下:
/? 显示ipconfig的格式和参数的英文说明;
/all 显示所有的配置信息;
/release 为指定的适配器(或全部适配器)释放IP地址(只适用于DHCP);
/renew 为指定的适配器(或全部适配器)更新IP地址(只适用于DHCP)。

使用不带参数的ipconfig命令可以得到以下信息:IP地址、子网掩码、默认网关。
而使用ipconfig /all,则可以得到更多的信息:主机名、DNS服务器、节点类型、网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关等。

6.tracert

判定数据包到达目的主机所经过的路径、显示数据包经过的中继节点清单和到达时间。

tracert命令的格式如下:
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name 其中的

参数说明如下:
-d 不解析主机名;
-h maximum_hops 指定搜索到目的地址的最大轮数;
-j host-list 沿着主机列表释放源路由; -w timeout 指定超时时间间隔(单位毫秒)。

7.netstat

显示当前活动的网络连接的详细信息,如协议类型、当前主机与远端相连主机的IP地址以及它们之间的连接状态等。

netstat的命令格式如下:
netstat [-a] [-e] [-n] [-s] [-p proto] [-r] [interval] 其中的参数说明如下:

-a 显示所有主机的端口号;
-e 显示以太网统计信息;
-n 以数字表格形式显示地址和端口;
-p proto 显示特定的协议的具体使用信息;
-r 显示本机路由表的内容;
-s 显示每个协议的使用状态(包括TCP、UDP、IP);
interval 重新显示所选的状态,每次显示之间的间隔数(单位秒),按Ctrl+C中止重新显示。

8、arp

arp的命令格式如下:
arp -s inet_addr eth_addr [if_addr]
arp -d inet_addr [if_addr]
arp -a [inet_addr] [-N if_addr]

参数说明如下:
inet_addr IP地址;
eth_addr 以太网卡地址;
-a 显示某个IP地址的网卡地址(不加IP地址,显示所有已激活的IP地址的网卡地址)(使用该参数前应该先ping通某一个IP地址);
-d 删除指定IP地址的主机;
-s 增加主机和与IP地址相对应的以太网卡地址。

9.Fixmbr

重新构造主引导扇区。只修改主引导扇区记录,对其他扇区不进行写操作。

其基本命令格式如:
Fixmbr[Drive][/A][/D][/P][/Z][/H]

/A:Active DOS partition(激活基本DOS分区)
/D:Display MBR(显示主引导记录内容)
/P:Display partition(显示DOS分区的结构)
/Z:Zero MBR (将主引导记录区清零)
/H:Help (帮助信息)

如果直接键入FixMbr后按回车键,缺省的情况下将执行检查主引导区结构的操作。如果发现系统不正常,将出现是否进行修复的提示。
回答Yes后将搜索分区,当搜索到相应的分区以后,系统会提示是否修改主引导区,回答YES则会开始修复。如果搜索的结果不对,可使
用/Z开关符,重新启动系统将主引导区恢复到原来的状态。

10.Diskpart

利用它可实现对硬盘的分区管理,包括创建分区、删除分区、合并(扩展)分区。

Active:将一个分区标为 Aactive,让它成为系统盘。
Delete:删除分区。
Exit:退出Diskpart状态。
Extend:将分区的容量扩大。
Help:显示帮助信息。
List:列出磁盘或分区。
Select:选择要操作的对象,如一个磁盘或分区等。

修复Windows系统

我们在平时操作电脑的过程中可能会因为某个误操作而丢失了一些重要的系统文件,系统因此变得非常不稳定,总是出现错误提示
,如果是为此而重新安装系统的话,那必将浪费你好长的时间,其实使用SFC文件检测器命令就可以轻松地帮你检测并修复受损的系统文
件。
  
  具体方法:插入系统安装光盘,然后在命令提示符窗口中输入“sfc /scannow”命令并回车,这时sfc文件检测器将立即扫描所有受
保护的系统文件。在大约几分钟的时间里,SFC会检测并修复好受保护的系统文件。
  
  小提示:如果身边没有Windows XP安装盘,但以前在硬盘上备份了安装盘文件的话,可以通过下面的小小设置即可让文件检测器从硬
盘上的安装文件中来恢复系统文件。

展开“HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Setup”子键,然后在右侧窗口中修改Installation

Sources、ServicePackSourcePath和SourcePath三个键值为硬盘上的系统安装程序路径,例如Windows XP的安装原文件存放在E盘/CDXP

文件夹中,那么修改以上三个键的键值为“E:/CDXP”。这样再使用SFC命令时,则可以直接使用硬盘上的安装文件来恢复系统而不需要
插入安装光盘。