【已解决】怎样自动运行windows计算器的科学计算模式?
本帖最后由 nekin 于 2010-3-3 09:42 编辑如果windows计算器当前的运行模式为“标准模式”,怎样自动启动计算器,自动转换成“科学计算”模式? win7下测试通过run('calc')
sleep(1000)
send('!2') 另外发现注册表中
HKEY_CURRENT_USER\Software\Microsoft\Calc
下的layout 值可以控制其启动模式(值为DWord类型)
值为0时为科学型
值为1时为标准型
值为2时为程序员型(wIN7下才有)
....
所以可以通过先修改注册表值,再启动 CALC就可以达到楼主之目的 回复 2# maxkingmax
不好意思,我测试没成功,在普通的XP系统下,有区别么?我能到”科学计算“模式下,但转换不过去。 回复 3# maxkingmax
谢谢啦,我先试试 在XP下,刚用虚拟机测试了下
Win.ini中如下字段
layout=0
控制 计算器的界面
layout=0 为科学型
layout=1 为普通型
iniWrite(@WindowsDir&'\win.ini','SciCalc','layout','0')
run('calc')
回复 6# maxkingmax
成功了,真的十分感谢!:face (15): 回复 6# maxkingmax
我要做一个测试windows计算器的程序,应该做成什么样的呢?能否给点建议? 看不懂,要测试什么呢!? 回复 9# maxkingmax
windows的计算器 楼主要做一个用au3写的程序?
然后楼主想到了做一个操作系统自带计算器的程序,但是一时半会有不知道这个东西是什么样的,所以就让大家帮忙想想这个test.exe应该有哪些功能,才能完美展示au3的强悍..
给你点建议:
1\打开科学型计算器,(展示au3打开其他exe,操作注册表,ini等文件,的功能)
1-2\识别计算器是否已打开(检测窗体是否出现,出现后弹出提示"已发现计算机界面"...呵呵)
2\点击计算器上的按钮进行计算,(展示au3的控件操作能力)
3\读取计算器的结果(展示au3的窗体\控件的读取能力)
4\移动\隐藏\最大化\最小化\关闭计算器的界面,(窗体操作能力)
5\其他.....
6\貌似这个东西根本无法展示出au3的强悍......充其量使用了au3的千分之一不到的功能...... 不错的小技巧,收藏! 如果只是测试计算器功能的话,用send吧,管它什么呢,直接发送按键就完了(计算器里面好像不包含send不可用的按键),何必管autoit呢 强大不....
Global $Calc = ["1", "2", "3", "+", "4", "5", "6", "-", "7", "8", "9", "X", ".", "0", "=", "÷", "(", ")", "Back", "C"]
GUICreate("calculator",200,205)
$ioput = GUICtrlCreateInput("",10,10,180,20)
$x=10
$y=40
For $i = 0 To 19
$Calc[$i] = GUICtrlCreateButton($Calc[$i],$x,$y,43,30)
If Mod(($i+1), 4)=0 Then
$x=10
$y += 32
Else
$x += 45
EndIf
Next
GUISetState()
$str=""
While 1
Switch GUIGetMsg()
Case -3
Exit
Case $Calc
$str &= "1"
GUICtrlSetData($ioput,$str)
Case $Calc
$str &= "2"
GUICtrlSetData($ioput,$str)
Case $Calc
$str &= "3"
GUICtrlSetData($ioput,$str)
Case $Calc
$str &= "+"
GUICtrlSetData($ioput,$str)
Case $Calc
$str &= "4"
GUICtrlSetData($ioput,$str)
Case $Calc
$str &= "5"
GUICtrlSetData($ioput,$str)
Case $Calc
$str &= "6"
GUICtrlSetData($ioput,$str)
Case $Calc
$str &= "-"
GUICtrlSetData($ioput,$str)
Case $Calc
$str &= "7"
GUICtrlSetData($ioput,$str)
Case $Calc
$str &= "8"
GUICtrlSetData($ioput,$str)
Case $Calc
$str &= "9"
GUICtrlSetData($ioput,$str)
Case $Calc
$str &= "*"
GUICtrlSetData($ioput,$str)
Case $Calc
$str &= "."
GUICtrlSetData($ioput,$str)
Case $Calc
$str &= "0"
GUICtrlSetData($ioput,$str)
Case $Calc
$str = Execute($str)
GUICtrlSetData($ioput,$str)
Case $Calc
$str &= "/"
GUICtrlSetData($ioput,$str)
Case $Calc
$str &= "("
GUICtrlSetData($ioput,$str)
Case $Calc
$str &= ")"
GUICtrlSetData($ioput,$str)
Case $Calc
$str = StringLeft($str, StringLen($str)-1)
GUICtrlSetData($ioput,$str)
Case $Calc
$str = ""
GUICtrlSetData($ioput,$str)
EndSwitch
$str = GUICtrlRead($ioput)
WEnd
页:
[1]