Board logo

标题: [分享]记事本下感受cmd窗口 [打印本页]

作者: plp626     时间: 2008-4-7 21:15    标题: [分享]记事本下感受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 ]
作者: zh159     时间: 2008-4-7 21:45
我只知道在这里发送空格键可以打开颜色下拉菜单
作者: slore     时间: 2008-4-7 21:51
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前延迟下,不然有时候都不执行。
作者: plp626     时间: 2008-4-7 23:05
原来空格就是可以了,zh159你懂得就是多,我用shift+....,alt+...,试了N+N个按钮怎么就没试空格呢,

------------------------------
slore知道你VBS很N,只是第2种方法修改注册表不懂。
作者: plp626     时间: 2008-4-7 23:38
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 ]
作者: slore     时间: 2008-4-8 02:49
@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
作者: xb2008chopin     时间: 2008-4-8 02:52
支持一哈LZ 我懂了!
作者: slore     时间: 2008-4-8 02:59


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

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

注册表不知道刷新简单不。。。这个地方修改貌似右键刷新就生效。。。
反正注销和重启是肯定生效的嗬。
作者: zh159     时间: 2008-4-8 10:59
确定很简单,发送一个回车就行了,因为大部分系统设置界面在按回车后都会默认点击“确定”按键
作者: plp626     时间: 2008-4-8 14:16
下面的颜色非常柔和,大家可以试试。
那位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 "颜色设定完成!"

作者: slore     时间: 2008-4-8 20:36
start rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2


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

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

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