中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [分享]记事本下感受cmd窗口 上一主题 | 下一主题
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『楼 主』:  [分享]记事本下感受cmd窗口

桌面空白处 右键属性---外观---高级---项目(I)--下拉菜单选窗口:
颜色(L),下拉菜单选择黑色(推荐选绿色(80 240 88)看着舒服)
颜色(R),下拉菜单选择白色
然后确定,应用 OK!

其实我是来问问题的:
我想用sendkey来完成,只是选择颜色下拉菜单用传统方法不能实现,
直接运行即可:
@echo off
::xp下测试
<%0 more +7>col.vbs
start rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2
start col.vbs
exit


wscript.sleep 2000
WScript.CreateObject("WScript.Shell").SendKeys "{tab 4}"
WScript.CreateObject("WScript.Shell").SendKeys "{d}"
WScript.CreateObject("WScript.Shell").SendKeys "{left 15}"
WScript.CreateObject("WScript.Shell").SendKeys "{tab}"
wscript.sleep 1500
msgbox "请高人指点,颜色下拉菜单怎么发送?谢谢!"
'WScript.CreateObject("WScript.Shell").SendKeys "{l}"
-------------------------------------------------------
最佳答案:见10楼(zh159,slore解答,在此感谢)

[ Last edited by plp626 on 2008-4-8 at 02:18 PM ]



山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-4-7 21:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 2 楼』:  

我只知道在这里发送空格键可以打开颜色下拉菜单



2008-4-7 21:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 3 楼』:  

wscript.sleep 2000
Set WSHell = WScript.CreateObject("WScript.Shell")
WSHell.SendKeys "{tab 4}"
WSHell.SendKeys "{d}"
WSHell.SendKeys "{left 15}"
WScript.CreateObject("WScript.Shell").SendKeys "{tab}"
wscript.sleep 1500
MsgBox "请高人指点,颜色下拉菜单怎么发送?谢谢!"
'WSHell.SendKeys "{l}"

建议这样……
避免过多的.操作。

因为那个是响应鼠标的……
与按键无关所以sendkeys无效。

2个可选方法:
1.选到自定义里面,然后sendkeys选择自己要的颜色(这里可以按键响应)。
2.直接修改注册表……

建议第2种方法,准确。


PS:sendkeys不准,你的最好执行sendkeys中间也延迟下……你的left前延迟下,不然有时候都不执行。

2008-4-7 21:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 4 楼』:  

原来空格就是可以了,zh159你懂得就是多,我用shift+....,alt+...,试了N+N个按钮怎么就没试空格呢,

------------------------------
slore知道你VBS很N,只是第2种方法修改注册表不懂。



山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-4-7 23:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 5 楼』:  

zh159,slore 新的问题:怎么确定?
@echo off
<%0 more +6>col.vbs
start rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2
start col.vbs
exit



wscript.sleep 1500
Set WSHell = WScript.CreateObject("WScript.Shell")
WSHell.SendKeys "{tab 4}"
WSHell.SendKeys "{d}"
WSHell.SendKeys "{left 15}"
WScript.CreateObject("WScript.Shell").SendKeys "{tab}"
wscript.sleep 1000
WSHell.SendKeys " "
WSHell.SendKeys "{o}"
WSHell.SendKeys "{tab 4}"
WSHell.SendKeys "160"
WSHell.SendKeys "{tab}"
WSHell.SendKeys "0"
WSHell.SendKeys "{tab}"
WSHell.SendKeys "0"
wscript.sleep 1500
msgbox "请高人指点,怎么确定?谢谢!"
[ Last edited by plp626 on 2008-4-8 at 12:04 AM ]



山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-4-7 23:38
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 6 楼』:  

@echo off
<%0 more +6>col.vbs
start control desk.cpl,,2
start col.vbs
exit



wscript.sleep 1500
Set WSHell = WScript.CreateObject("WScript.Shell")
WSHell.SendKeys "%D"
wscript.sleep 1000
WSHell.SendKeys "{left 15}"
WSHell.SendKeys "%L"
WSHell.SendKeys " "
'wscript.sleep 500
WSHell.SendKeys "%O"
WSHell.SendKeys "{left 7}"
WSHell.SendKeys " "
WSHell.SendKeys "{Enter}"
WSHell.SendKeys "%R"
WSHell.SendKeys " "
'wscript.sleep 500
WSHell.SendKeys "%O"
WSHell.SendKeys "{right 7}"
WSHell.SendKeys " "
WSHell.SendKeys "{Enter}"

'WSHell.SendKeys "160"
'WSHell.SendKeys "{tab}"
'WSHell.SendKeys "0"
'WSHell.SendKeys "{tab}"
'WSHell.SendKeys "0"
'wscript.sleep 1500
'如果你使用自定义颜色,填写你都会了吧?
'发送Alt+A添加到自定义里面,然后Tab去选吧,同样是空格确认。

Set WSHell = Nothing

2008-4-8 02:49
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xb2008chopin
初级用户





积分 24
发帖 11
注册 2008-4-6
状态 离线
『第 7 楼』:  

支持一哈LZ 我懂了!

2008-4-8 02:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by plp626 at 2008-4-7 23:05:
只是第2种方法修改注册表不懂。

懒得看了……你下载个regshot什么的注册表对比软件自己看下
修改前和修改后的变化值。

注册表不知道刷新简单不。。。这个地方修改貌似右键刷新就生效。。。
反正注销和重启是肯定生效的嗬。

2008-4-8 02:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 9 楼』:  

确定很简单,发送一个回车就行了,因为大部分系统设置界面在按回车后都会默认点击“确定”按键



2008-4-8 10:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 10 楼』:  

下面的颜色非常柔和,大家可以试试。
那位VBS比较懂,如果可以打话,把代码用for循环简化下:
@echo off
::XP记事本背景色与字体颜色设置。
<%0 more +7>%tmp%\col.vbs
start rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2
start %tmp%\col.vbs
exit
--------------------------
wscript.sleep 1000
Set WSHell = WScript.CreateObject("WScript.Shell")
WSHell.SendKeys "{tab 4}"
WSHell.SendKeys "{d}"
WSHell.SendKeys "{left 15}"
'背景颜色
WSHell.SendKeys "{tab}"
WSHell.SendKeys " "
WSHell.SendKeys "{o}"
WSHell.SendKeys "{tab 4}"
WSHell.SendKeys "160"
WSHell.SendKeys "{tab}"
WSHell.SendKeys "0"
WSHell.SendKeys "{tab}"
WSHell.SendKeys "60"
WSHell.SendKeys "{enter}"
'字体颜色
WSHell.SendKeys "{tab}"
WSHell.SendKeys " "
WSHell.SendKeys "{o}"
WSHell.SendKeys "{tab 4}"
WSHell.SendKeys "80"
WSHell.SendKeys "{tab}"
WSHell.SendKeys "240"
WSHell.SendKeys "{tab}"
WSHell.SendKeys "70"
'确定,应用。
WSHell.SendKeys "{enter 2}"
WSHell.SendKeys "{a}"
wscript.sleep 2000
WSHell.SendKeys "{enter}"
wscript.sleep 500
msgbox "颜色设定完成!"




山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-4-8 14:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 11 楼』:  

start rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2


WSHell.SendKeys "{tab 4}"
WSHell.SendKeys "{d}"

你看下这2句我怎么写的~学会用访问键。。。

那个要循环化简只是好看点。。。这种规律性有不强,
还要用数组存每一步。。。麻烦

2008-4-8 20:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: