($width) AND $width .= 'px';
$style = " style=\"width: $width\"";
}
$value = $value ? $value : date('H:i');
$s = "";
return $s;
}
// form_date('start', '2018-07-05') 为空则当前日期
function form_date($name, $value = 0, $width = FALSE)
{
$style = '';
if (FALSE !== $width) {
is_numeric($width) AND $width .= 'px';
$style = " style=\"width: $width\"";
}
$value = $value ? $value : date('Y-m-d');
$s = "";
return $s;
}
/**用法
*
* echo form_radio_yes_no('radio1', 0);
* echo form_checkbox('aaa', array('无', '有'), 0);
*
* echo form_radio_yes_no('aaa', 0);
* echo form_radio('aaa', array('无', '有'), 0);
* echo form_radio('aaa', array('a'=>'aaa', 'b'=>'bbb', 'c'=>'ccc', ), 'b');
*
* echo form_select('aaa', array('a'=>'aaa', 'b'=>'bbb', 'c'=>'ccc', ), 'a');
*/
?>组保留的标签 余下为需要删除的标签
unset($oldtag[$key]);
}
}
}
if (!empty($oldtag)) {
$tagids = array();
foreach ($oldtag as $tagid => $tagname) {
$tagids[] = $tagid;
}
well_oldtag_delete($tagids, $tid);
}
$r = well_tag_process($tid, $fid, $create_tag, $tagarr);
return $r;
}
// 删除标签和绑定的主题
function well_oldtag_delete($tagids, $tid)
{
$pagesize = count($tagids);
$arrlist = well_tag_find_by_tagids($tagids, 1, $pagesize);
$delete_tagids = array(); // 删除
$tagids = array();
$n = 0;
foreach ($arrlist as $val) {
++$n;
if (1 == $val['count']) {
// 只有一个主题
$delete_tagids[] = $val['tagid'];
} else {
$tagids[] = $val['tagid'];
}
}
!empty($delete_tagids) and well_tag_delete($delete_tagids);
$arlist = well_tag_thread_find_by_tid($tid, 1, $n);
if ($arlist) {
$ids = array();
foreach ($arlist as $val) $ids[] = $val['id'];
well_tag_thread_delete($ids);
}
!empty($tagids) and well_tag_update($tagids, array('count-' => 1));
}
// 标签数据处理 $arr=新提交的数组 $tagarr=保留的旧标签
function well_tag_process($tid, $fid, $new_tags = array(), $tagarr = array())
{
if (empty($tid)) return '';
// 新标签处理入库
if ($new_tags) {
$threadarr = array();
$tagids = array();
$i = 0;
$size = 5;
$n = count($tagarr);
$n = $n > $size ? $size : $size - $n;
foreach ($new_tags as $name) {
++$i;
$name = trim($name);
$name = stripslashes($name);
$name = strip_tags($name);
$name = str_replace(array(' ', '#', "@", "$", "%", "^", '&', '·', '<', '>', ';', '`', '~', '!', '¥', '……', ';', '?', '?', '-', '—', '_', '=', '+', '.', '{', '}', '|', ':', ':', '、', '/', '。', '[', ']', '【', '】', '‘', ' ', ' ', ' ', ' ', ' '), '', $name);
$name = htmlspecialchars($name, ENT_QUOTES);
if ($name && $i <= $n) {
// 查询标签
$read = well_tag_read_name($name);
if ($read) {
// 存在 count+1
$tagids[] = $read['tagid'];
} else {
// 入库
$arr = array('name' => $name, 'count' => 1);
$tagid = well_tag_create($arr);
FALSE === $tagid and message(-1, lang('create_failed'));
$read = array('tagid' => $tagid, 'name' => $name);
}
$tag_thread = array('tagid' => $read['tagid'], 'tid' => $tid);
$threadarr[] = $tag_thread;
$tagarr[$read['tagid']] = $read['name'];
}
}
!empty($threadarr) and tag_thread_big_insert($threadarr);
!empty($tagids) and well_tag_update($tagids, array('count+' => 1));
}
$json = empty($tagarr) ? '' : xn_json_encode($tagarr);
return $json;
}
?>return $r;
}
/**
* @param int $page 页数
* @param int $pagesize 每页显示数量
* @return mixed
*/
function link_find($page = 1, $pagesize = 100)
{
$arr = link__find($cond = array(), array('rank' => -1), $page, $pagesize);
return $arr;
}
/**
* @param $id
* @return bool 返回FALSE失败 TRUE成功
*/
function link_delete($id)
{
if (empty($id)) return FALSE;
$r = link__delete(array('id' => $id));
link_delete_cache();
return $r;
}
//--------------------------kv + cache--------------------------
/**
* @return mixed 返回全部友情链接
*/
function link_get($page = 1, $pagesize = 100)
{
$g_link = website_get('friends_link');
if (empty($g_link)) {
$g_link = link_find($page, $pagesize);
$g_link AND website_set('friends_link', $g_link);
}
return $g_link;
}
// delete kv and cache
function link_delete_cache()
{
website_set('friends_link', '');
return TRUE;
}
?> $v = implode(",", $v);
$temp[] = $v;
}
// 去掉重复的字符串,也就是重复的一维数组
$temp = array_unique($temp);
// 再将拆开的数组重新组装
$output = array();
foreach ($temp as $k => $v) {
if ($stkeep) $k = $starr[$k];
if ($ndformat) {
$temparr = explode(",", $v);
foreach ($temparr as $ndkey => $ndval) $output[$k][$ndarr[$ndkey]] = $ndval;
} else $output[$k] = explode(",", $v);
}
return $output;
}
// 合并二维数组 如重复 值以第一个数组值为准
function array2_merge($array1, $array2, $key = '')
{
if (empty($array1) || empty($array2)) return NULL;
$arr = array();
foreach ($array1 as $k => $v) {
isset($v[$key]) ? $arr[$v[$key]] = array_merge($v, $array2[$k]) : $arr[] = array_merge($v, $array2[$k]);
}
return $arr;
}
/*
* 对二维数组排序 两个数组必须有一个相同的键值
* $array1 需要排序数组
* $array2 按照该数组key排序
* */
function array2_sort_key($array1, $array2, $key = '')
{
if (empty($array1) || empty($array2)) return NULL;
$arr = array();
foreach ($array2 as $k => $v) {
if (isset($v[$key]) && $v[$key] == $array1[$v[$key]][$key]) {
$arr[$v[$key]] = $array1[$v[$key]];
} else {
$arr[] = $v;
}
}
return $arr;
}
?>
快捷键关机:提升电脑操作效率的密码-软件玩家 - 软件改变生活!
快捷键关机:提升电脑操作效率的密码
在日常使用电脑的过程中,快速、安全的关机方式显得尤为重要。掌握快捷键操作,不仅能节省时间,还可以在紧急情况下迅速中断程序或关掉电脑。本文将深入探讨多种快捷关机方案,从操作系统自带快捷键到自定义脚本,全面提升你的电脑使用效率。
一、操作系统自带的快捷关机方式
大多数操作系统都提供了方便的快捷操作方法,使用户无需通过繁琐的菜单即可快速关机。以下是 Windows 和 macOS 系统常用的快捷方式:
1. Windows 系统
| 快捷键组合 |
具体操作 |
Alt + F4
|
关闭当前应用,如果桌面处于焦点状态,弹出关机菜单。可以通过在桌面按Alt + F4,然后选择“关机”或“重启”执行 |
Win + X 之后 U + U
|
快速打开“开始”菜单快捷操作,依次选择“关机” |
Ctrl + Alt + Del
|
调用安全选项界面,选择“关机”或“注销” |
2. macOS 系统
| 快捷键组合 |
具体操作 |
Control + Option + Command + Power
|
立即强制关机 |
Control + Command + Eject
|
弹出关机菜单,选择关机 |
Power按钮(长按)
|
强制关机(长按几秒直到关闭) |
二、自定义快捷关闭方案
除了系统提供的快捷方式外,许多用户通过脚本或快捷键工具实现一键关机。这种方式灵活性高,适合有 chút 编程基础或使用效率工具的用户。
1. Windows批处理脚本
编写一份批处理文件,通过快捷方式触发,即可实现一键关机:
上面命令中的“/s”表示关机,“/t 0”代表立即执行,无等待时间。保存为“shutdown.bat”,创建快捷方式,将其绑定到快捷键即可。
2. 使用 AutoHotkey 脚本 (Windows)
AutoHotkey 是一个强大的Windows自动化工具,可以定义快捷键执行关机命令:
^!s:: ; Ctrl + Alt + S
Shutdown, 1
return
保存为“shutdown.ahk”,执行后按 Ctrl + Alt + S 即可关机。还可以将脚本绑定到系统托盘或开机启动,实现一键操作。
三、使用任务调度实现定时关机
如果需要定时关机,利用操作系统的任务调度工具也是一种方案。Windows 用户可以使用“任务计划程序”,设置特定时间触发批处理脚本执行,实现自动关机/重启:
操作步骤示意
- 编写关机批处理脚本(shutdown.bat)
- 打开“任务计划程序”,创建新任务
- 配置触发时间与动作,执行脚本路径
四、实用建议与注意事项
在使用快捷关机方法时,应确保工作已保存,避免数据丢失。特别是通过热键强制关机,可能导致文件损坏或系统异常。同时,自定义脚本或自动化工具虽然便捷,但也需要留意权限设置,避免被恶意篡改或误操作引发问题。
合理结合系统原生快捷键与自定义方案,将显著提高日常工作效率,减少操作误差。而在多任务切换频繁时,一个清晰的快捷关机方案可以成为应对突发状况的救命稻草,令人感受到熟练掌控的乐趣与自在。
本文标签:
关机快捷键脚本使用实现
更多相关文章
编程小技巧:使用C#锁定IE浏览器的主页设置
简介:本项目是一个C#开发的实用工具,旨在通过锁定或解锁IE浏览器主页设置来保护用户的浏览器配置不被恶意更改。该工具涉及注册表操作、进程和窗口交互、权限管理、用户界面设计、事件驱动编程、异常处理、配置管理、程序安装与卸载、版本控制与打
揭秘:如何用Python轻松构建直观的CPU监控界面?
第一章:CPU监控不再难!手把手教你用Python打造可视化监控仪表盘在现代系统运维中,实时掌握CPU使用情况是保障服务稳定运行的关键。借助Python强大的生态库,我们可以轻松构建一个实时更新的CPU监控可视化仪表盘。
从头到尾解决 Google 谷歌访问难题:2014年最新攻略,专为 Flash中心用户定制
2014年6月,谷歌搜索(Google)开始被全面封锁,许多网友反映谷歌打不开了。百度指数也显示从6月起,搜索“谷歌打不开怎么办”“谷歌打不开解决办法”的网友日益增多。国内纵然有百度,但是谷歌作为世界第一搜索引擎,很多地方还是谷歌所不
让双系统不再困扰你——NTBootAutofix全面解析
简介:NTBootAutofix是一款能够解决双系统引导问题的工具,如Windows XP和Windows 7共存时的启动菜单损坏、引导项丢失等。该工具提供了自动修复、备份恢复、手动修复、清理优化和广泛兼容性等功能。用户需要选择合适的
搭建DevEco Studio虚拟机环境,轻松启动App开发之旅
鸿蒙开发包括鸿蒙应用开发(手机app)和鸿蒙设备开发(硬件开发)两大部分,其中设备开发又包括TV,音响,眼镜,手表,PC,平板,汽车,耳机以及未来的各种智能家居,手机作为一个超级终端,与各种设备实现互联,未来无论是在工作,学习,运动
开启U-Boot新体验:RK3568千兆网路实测秘籍!
前言 开发板型号: 【正点原子】 的 RK3568 开发板 使用 虚拟机 ubuntu 20.04 编译 RK3568 Linux SDK,生成镜像,烧写后,Linux 系统正常启动 开启后
Qt右键菜单配置秘籍:快速实现二级菜单功能
QWidget及其子类都可有右键菜单,因为QWidget有以下两个与右键菜单有关的函数: Qt::ContextMenuPolicy contextMenuPolicy () const void setCo
Flash中心的神秘角落:SWF文件的秘密所在
电脑使用中,有时我们需要电脑在特定时间自动关机。例如,在下载大型文件或进行长时间的任务时,电脑完成任务后能够自动关机既省电又方便。那么,电脑的自动关机功能如何设置呢?本文将详细介绍几种常见的设置方法,并附上命令的使用方法。
Windows小技巧:自动关机让电脑自己打烊
前言 说来也是搞笑:朋友跟我诉苦说,他有时候下班忘了关闭电脑,结果经常因为电脑不关机导致被领导扣工资。 说到扣工资这个问题,直接仲裁就好啦!哈哈哈,突然又是一波泼天的富贵来临,这必须要接住才行啊。 但电脑不关机
将FAT32硬盘无缝升级至NTFS:保护数据的完美转换攻略
使用NTFS分区,可以更好的管理磁盘及提高系统的安全性;硬盘为NTFS格式时,碎片整理也快很多。 在安装的过程中可以选择使用NTFS还是FAT分区。如果在安装过程中选择了FAT,可以用下面的办法来把它转换成NTFS
MD5校验工具:确保文件完整性的秘诀
简介:MD5是一种用于数据完整性校验和加密的哈希函数,广泛应用于IT行业中验证文件的完整性和一致性。"文件MD5工具"软件简化了计算和比较文件MD5值的过程,通过生成的唯一哈希值(“指纹”)检测文件是否被篡改。尽管MD5
无需复杂操作,立即使用绿色便携MD5校验工具
简介:MD5校验是一种用于确保数据完整性和真实性的方法,通过计算文件的MD5哈希值进行校对。MD5校验工具无需安装即可运行,便于用户验证下载文件的完整性和安全性,尤其适用于大型软件和系统镜像。该工具支持文件拖拽功能,方便用户快速获取文
Flash迷必学:深度解读MD5校验工具的原理与应用
简介:MD5是一种用于数据完整性校验和加密的哈希函数,广泛应用于IT行业中验证文件的完整性和一致性。"文件MD5工具"软件简化了计算和比较文件MD5值的过程,通过生成的唯一哈希值(“指纹”)检测文件是否被篡改。尽管MD5
揭秘开机自动加载:SWF与Flash中心启动项的设置技巧与隐藏命令
目录在日常使用电脑的过程中,开机自启动项的设置可以帮助我们自动运行一些常用程序,提高工作效率。不同操作系统设置开机自启动项的方式有所不同,下面将为你详细介绍 Windows、macOS 和 Linux 系统的相关设置方法
「告别繁琐,教你用 Windows7 截图工具自动保存」教程
问题描述:如何将电脑屏幕截图直接保存到文件夹。之前都是先截图然后发到QQ里面,然后在QQ里面另存为到文件夹里面。 注意:最好不要把截图保存到word文档里面,因为图片保存到word中保存的不是原图,而是被压缩了,以后如果我们从
dism++教你快速隐藏Windows系统图标角标
使用 Windows 系统时,桌面或文件夹中的图标常会出现各种角标 —— 快捷方式小箭头、UAC 小盾牌、蓝色双箭头,这些标记虽各有作用,但有时会影响视觉整洁。本文将详细介绍这些角标的含义,并分享简单高效的去除方法,帮你打造更清爽的桌
告别技术难题:电脑投影仪连接的简易教程
在今天的工作和学习中,使用投影仪连接电脑是非常常见的需求。无论是在会议室进行演示还是在教室上课,连接电脑到投影仪都是必不可少的。本文将介绍电脑怎么连接投影仪的三种方法,以帮助您轻松完成这一操作。 方法1:使用USB连接
电脑自动关机大揭秘,5种方法让你玩转技术
转自: (方法汇总于网络,仅供参考)目录⊙如何用系统命令设置定时关机 ⊙两款定时关机软件,小而好用,功能强大 ⊙如何用任务计划程序设置 ⊙常用的电脑软件如何设置,包括360安全卫
从零开始,轻松学会用易语言解析QQ空间PC端协议,附带完整教程!
简介:本教程为初学者提供深入理解QQ空间PC端工作机制的机会,包括用户登录、动态发布、好友互动等功能。易语言作为中文编程语言被用来模拟QQ空间网络请求,帮助用户掌握数据交互。教程还覆盖了QQ空间JS登录加密、安全技术如OAuth2.0
麒麟系统装显卡驱动?一看就会的简单步骤!
1、查看系统基本信息 1.1麒麟系统信息 uname -aLinux localhost.localdomain 4.19.90-89.11.v2401.ky10.x86_64 #1 SMP Tue May 7 18:33
发表评论