-2

Когда я набираю 5 + 5 * 6 в калькуляторе Windows, я получаю 60 . Похоже, что Windows игнорирует порядок операций.

Одним из возможных решений является изменение разделов реестра, чтобы они запускались в научном режиме. Было бы идеально, если бы пользователи не пользовались всеми дополнительными кнопками в научном режиме, или мне не приходилось заменять калькулятор по умолчанию сторонним решением. Я понимаю, что это могут быть только два варианта. Мне просто интересно, придумал ли кто-то еще решение, о котором я еще не думал.

1 ответ1

0

может быть, вы хотите попробовать какой-нибудь скрипт, я специально сделал этот скрипт для вас, это скрипт autoit, если вы не можете понять, я мог бы дать скомпилированный код, в основном скрипт изменит вид калькулятора Windows по умолчанию, в который вы хотите ,

If Not WinExists("[CLASS:CalcFrame]") Then Run("calc.exe")
WinWait("[CLASS:CalcFrame]")

For $i = 29 to 55
    $ins = "[CLASS:Button; INSTANCE:" & $i & "]"
    ControlMove( "[CLASS:CalcFrame]", "", $ins, -100, -100)
Next

For $i = 1 to 28
    $ins = "[CLASS:Button; INSTANCE:" & $i & "]"
    $pos = ControlGetPos ( "[CLASS:CalcFrame]", "", $ins)
    ControlMove( "[CLASS:CalcFrame]", "", $ins, $pos[0] - 206, $pos[1] -65)
Next

ControlMove( "[CLASS:CalcFrame]", "", "[CLASS:Static; INSTANCE:6]", -100, -100)
ControlMove( "[CLASS:CalcFrame]", "", "[CLASS:Static; INSTANCE:7]", -100, -100)

$pos = ControlGetPos ( "[CLASS:CalcFrame]", "", "[CLASSNN:#327701; INSTANCE:1]")
ControlMove( "[CLASS:CalcFrame]", "", "[CLASSNN:#327701; INSTANCE:1]", $pos[0] -182, $pos[1] ,$pos[2],$pos[3])
ControlMove( "[CLASS:CalcFrame]", "", "[CLASS:Static; INSTANCE:1]", $pos[0] -182, $pos[1] ,$pos[2],$pos[3])

$pos = WinGetPos ("[CLASS:CalcFrame]")
WinMove ( "[CLASS:CalcFrame]", "", $pos[0], $pos[1] ,$pos[2] - 195,$pos[3])

$hWnd = WinGetHandle ("[CLASS:CalcFrame]")
DllCall("user32.dll", "bool", "RedrawWindow", "hwnd", $hWnd, "struct*", 0, "handle", 0, "uint", 5)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .