($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;
}
?>
没有NVIDIA控制面板的日子:一段电脑爱好者的曲折探索-软件玩家 - 软件改变生活!
图标消失的那个下午
我记得很清楚,那是个周日的下午,阳光透过窗帘洒在桌面上。我刚刚升级了最新的游戏,兴冲冲地点开设置,想要把图形特效拉到极致。然而,当我习惯性地右键点击桌面时,心里咯噔一下——本该出现的“NVIDIA控制面板”选项,不见了。我眨了眨眼,以为是自己眼花,又试了一次。空白,依旧是空白。那种感觉就像你每天回家钥匙都挂在同一个钩子上,有一天它突然消失了,你明明记得早上还见过它。
起初我并没太慌张,以为只是系统的小卡顿。重启电脑,我盯着屏幕从黑到亮,心里默念着“快回来吧”。可惜,现实很骨感,右键菜单里依然只有“显示设置”和“个性化”这些基础选项。一股莫名的焦躁开始蔓延,就像你找不到遥控器时的那种抓狂。我可是个自诩的电脑高手,这种基础问题怎么能难倒我?
陷入搜索引擎的漩涡
我打开浏览器,在搜索框里敲下“NVIDIA控制面板不见了”。瞬间,成千上万的搜索结果涌出来。论坛、问答网站、技术博客,似乎全世界都有过类似的遭遇。我点开第一个链接,楼主描述的症状和我一模一样,下面的回复五花八门:“重装驱动试试”“是不是被杀毒软件删了?”“Windows更新的锅”。我一条条翻看,感觉就像在迷宫里打转,每个建议都像一条岔路,不知道哪条能通向出口。
按照最常见的建议,我去了NVIDIA官网。下载驱动时,我发现了一个细节:最新的驱动程序包体积似乎比记忆中小了一些。安装过程很顺利,重启后,我满怀期待地右键桌面——还是什么都没有。那一刻,我有点泄气,瘫在椅子上盯着屏幕发呆。窗外的天色渐渐暗下来,电脑的光映在脸上,我突然觉得这台陪伴多年的机器有点陌生。
徒劳的折腾与渐长的困惑
我不信邪,决定更深入地折腾。打开设备管理器,展开“显示适配器”,我的NVIDIA显卡安安静静地躺在那里,没有黄色叹号,状态良好。这更让人困惑了,驱动明明在,为什么控制面板不出现?我打开“程序和功能”,在卸载列表里找到了NVIDIA图形驱动程序,可选项里根本没有单独的控制面板组件。这不对劲,我记得以前是有的。
接着,我听从某个论坛高手的建议,手动清理了所有NVIDIA残留文件。这个过程需要打开隐藏文件夹和系统文件夹,每一步我都小心翼翼,生怕删错了什么导致系统崩溃。清理完成后,再次重装驱动。安装界面闪烁时,我心里默念着“这次总该有了吧”。然而,当桌面重新出现,我几乎是颤抖着点下右键——依然是一片令人绝望的空白。一种无力感袭来,我开始怀疑是不是显卡硬件出了问题,甚至想过拆开机箱检查,但理智告诉我,如果显卡坏了,屏幕根本不会亮。
偶然的线索与方向的转变
就在几乎要放弃的时候,我在一个不起眼的博客评论区看到了一条留言。那位用户提到,他是在Windows更新后,通过“可选更新”里找到了NVIDIA控制面板的独立安装包。这句话像一道闪电划过我的脑海。我立刻打开Windows设置,找到“更新与安全”,然后点击“查看可选更新”。列表加载出来时,我的心跳加快了。在一堆硬件驱动和补丁中,我赫然看到了“NVIDIA - Display - XXX.XX”的字样,而它的分类确实是“可选”。
为什么控制面板会变成可选更新?我一边点击安装,一边思考这个问题。过去,驱动和控制面板总是捆绑在一起,装好驱动,控制面板自然就会出现。现在看来,微软和NVIDIA似乎改变了策略,把一些组件模块化了。安装过程很快,完成后系统提示需要重启。我深吸一口气,点了重启按钮。屏幕上滚动着关机动画,那几秒钟变得格外漫长。
重现的图标与未解的疑问
电脑重启后,我没急着右键。我先倒了杯水,平复了一下心情,然后才把鼠标移到桌面空白处,缓缓点下右键。当那个熟悉的绿色图标“NVIDIA控制面板”出现在菜单里时,我竟然没有想象中的狂喜,反而有种不真实的感觉。点进去,所有设置页面都在,可以调整3D设置,管理显示模式,一切如常。我试着调了一下游戏配置,然后跑了一小段测试,帧数稳定,效果完美。
问题解决了,但我的好奇心却被勾了起来。为什么这么重要的工具会被默认为“可选”?我继续查阅资料,发现从某个Windows 10版本开始,微软为了简化驱动安装和减少冲突,开始推行这种“基础驱动+可选组件”的模式。NVIDIA控制面板,因为包含大量高级设置和用户自定义功能,被划归到了“可选”类别。如果用户不主动去可选更新里查找安装,或者系统自动更新时没有勾选这部分,它就不会出现。这个设计逻辑或许是为了让普通用户获得更干净的系统,但对于我们这些需要精细调整的人来说,却成了一个新的麻烦。
系统变迁中的小小阵痛
坐在已经恢复正常工作的电脑前,我忽然有点感慨。早期的电脑,什么都得自己动手,装驱动、调配置,复杂但有掌控感。后来,系统越来越智能,很多事都自动化了,省心却偶尔让人失控。像这次控制面板“失踪”事件,就是自动化进程中的一个微小裂痕。它没有错,只是预设的逻辑和用户习惯发生了偏差。
我把这次经历写在了自己的技术笔记里,详细记录了从发现问题到解决的全过程,包括那个关键的“可选更新”路径。后来,有几个朋友也遇到了同样的问题,我把笔记发给他们,大多都能顺利解决。看着他们发来的感谢信息,我意识到,这种看似琐碎的折腾,其实也是技术生活的一部分。它不总是顺畅的,但每一次解决问题的过程,都像在迷雾中开辟出一条小径,虽然曲折,却有发现的乐趣。
后记:工具与掌控感
现在,我偶尔还是会右键桌面,看看那个绿色的图标是否安在。它不再只是一个工具,更像是一个提醒,提醒我对于每天使用的技术,我们以为的“掌控”可能很脆弱。一个系统更新,一个策略调整,就可能改变我们熟悉的界面和流程。但这也许不是坏事,它逼着我们去理解表层之下的运行逻辑,去适应不断变化的数字环境。
电脑安静地运行着,风扇发出轻微的声音。我打开游戏,画面流畅绚丽。所有设置都按照我的偏好配置好了,这一切都得益于那个失而复得的控制面板。窗外夜色已深,城市的灯光星星点点。我关掉游戏,开始整理今天下载的各种驱动安装包和工具软件。我知道,下一次当某个熟悉的工具再次“消失”时,我可能还是会焦虑,还是会花上几个小时去搜寻解决之道。但至少,我不会再那么慌张了。因为在这个由代码和电路构成的世界里,问题永远会有,而寻找答案的过程,本身就是一种独特的体验。
本文标签:
控制面板驱动
更多相关文章
小白也能学会!电脑启动安全防护从这里开始
在日常工作中相信有很多人在离开公办室的时候,都不想别人能随便使用自己的电脑,因为设置了别人开机时就需要输入正确的才能使用,这样就可以保护个人隐私,所以有很多人问我 电脑如何设置开机密码?其实设置电脑
隐藏的语言栏在Win7笔记型电脑上哪儿去了?找回来的方法
第一:和windows差不多,先保证 ctfmon.exe运行,如果没有可以在开始——运行里输入ctfmon. exe来运行。这个是windows中控制输入法的一个进程,如果这个进程坏了或者没启动,那你输入法会有问题。执
无法关机?别急,这里有快速解决你的电脑小困扰
电脑无法正常关机?三种解决方法助你轻松搞定 在使用电脑的过程中,我们有时会遇到无法正常关机的情况。这一问题可能由多种原因引起,包括但不限于系统崩溃、驱动程序损坏等。在遭遇此类问题时,我们可以先尝试以下三种方法来解决。如果这三种
谁来救我?IE11卸载后,我该怎么办才能回到IE9时代?
最近在做webuploader文件上传时,发现在IE9及其以下的版本中上传功能失效(原因:在<=IE9以下的版本中上传机理是flash,而在调取swf文件时失效),在IE11下的仿真IE9,发现取不到file对象,而在真正的IE9下
在MSDN平台找到真正纯净的Windows系统,官方正版一键安装攻略!
纯净的windows系统在哪下载?其实下载纯净系统无非就两种方式,一种是微软官方下载,另一个就是msdn网站上下载。MSDN并不是微软的官方网站,它是个人性质的原版软件信息收录站点,但该网站上提供的都是原版的系统文件,可放心下载使用。
无线网连不上?这里有几个快速修复小妙招!
背景: 新买的办公本联想IdeaPad 310S重装了Win7 X64且使用联想驱动管理安装完所有驱动后没有无线网络连接。怎么个没有法呢?就是在“控制面板网络和 Internet网络连接”里没有wifi这一项。无线网的驱动
Adobe Flash Player大法:一招升高手游性能!
当FPS特别低的时候,你会觉得画面一直在晃动,眼睛特别累,俗称“卡屏”。 这里介绍几种立竿见影地不需要升级硬件的提升游戏FPS的方法。 1,右击计算机(我的电脑),选择属性,选择高级系统设置,在性能中点击设置,选择调整
SWF文件突然不显示了?试试这几个步骤找回你的动画乐趣!
一、首先启用guest来宾帐户; 二、控制面板→管理工具→本地安全策略→本地策略→用户权利指派里,“从网络访问此计算机”中加入guest帐户,而“拒绝从网络访问这台计算机”中删除guest帐户; 三、我的电脑→工具→文
局域网共享打不开?试试这四个小技巧解救你的ES文件浏览器
一、首先启用guest来宾帐户; 二、控制面板→管理工具→本地安全策略→本地策略→用户权利指派里,“从网络访问此计算机”中加入guest帐户,而“拒绝从网络访问这台计算机”中删除guest帐户; 三、我的电脑→工具→文
解码43错误代码:轻松搞定游戏中的各种显卡难题
显卡错误代码43,玩游戏卡顿,电脑花屏,进入不了游戏等,其问题的核心多半是显卡驱动问题。 出了驱动外,显卡过热也会导致这些问题,显卡过热,显卡风扇不转,显卡供电不足等出现的情况也不是没有。 通用解决办法 这个方
解密电脑异常关机谜团:从注册表入手!
方法1:修改注册表 推荐该匿名作者列出的四个方法,我试过方法1,有效。摘录如下:“开始--运行--输入 regedit 回车,打开注册表编辑器,依次展开[HKEY_LOCAL_MACHINESOFTWAREMi
Win7玩家必备:详解如何调整CF游戏中的烟雾头特效
穿越火线中的烟雾头道具非常好用,可以通过烟雾都能看清敌人的位置。不过最近有网友反映自己的win7系统上玩游戏时,烟雾头看不清敌人位置,不知道cf烟雾头怎么调win7系统。下面小编就教下大家win7调整cf烟雾头的方法。 具体的
Kanata:游戏高手的福音!揭秘超低延迟键盘布局的奥秘!
Kanata与游戏:打造低延迟游戏专用键盘布局 游戏玩家的输入痛点与解决方案 你是否曾在激烈的游戏战斗中因误触快捷键而错失良机?是否经历过技能释放延迟导致的团战失利?专业电竞选手的反应时间通常在100-200毫秒,而普
防火墙关闭秘籍:轻松解决电脑安全问题
防火墙在哪里关闭防火墙关闭命令行-手把手教攻防笔记 我们知道防火墙是保护电脑的第一道屏障,所以一般应用我们都推荐开启防火墙,但有时局域网联机等其他操作确实要关闭防火墙,否则内网容易存在冲突,无法实现内网互联,那么对于内网用户
Win11新手必备:快速上手控制面板指南!
与之前的系统都不太一样,一方面是多了许多新功能,另一方面是很多操作都不一样了,在Win11系统中,控制面板不在是从开始菜单里打开了,许多用户就找不到在哪打开了,下面给大家告诉大家打开Win11控制面板的两个方法。方法如下
Win10用户必知:一文掌握控制面板快速开启技巧
方法一:搜索框打开 点击Windows桌面的左下角的这个Windows图标,或者点击键盘左下角的Windows图标,都可以、然后直接输入“ 控制面板”,这时就会看到 控制面板。点
Jira控制面板操作指南:轻松搞定项目管理
控制面板显示项目中发生的所有问题,为您提供查看,管理和报告工作进度的灵活方式。 Jira中存在三种类型的控制面板:下一代板这个板对那些刚接触敏捷的人很有用。它是一个非常简化,直接和流线型的板
揭秘Win10中打开控制面板的5大秘密技巧
win10控制面板进入后,可以对很多系统功能进行操控,因此熟悉很重要。一些没用过win10的网友可能不清楚win10控制面板在哪里打开,我们可借助快捷键或者各种方法打开,下面介绍下打开win10控制面板的五种方法。工
Win10键盘飞速进阶:一文详解键盘轮询率设置
优化Win10键盘灵敏度:提升输入体验的全面指南 键盘,作为计算机与用户之间最直接、最频繁的交互工具,其性能和舒适度直接关系到用户的工作效率与使用体验。特别是在快节奏的工作与游戏环境中,键盘的灵敏度显得尤为重要。一个设置得当的
发表评论